4 façons de lire un flux : caractère/mot/ligne/tout

Contenu du snippet

parfois les lectures ont besoin d'être controlées par caractère, mais au détriment des performances.
Parfois on veut parser les mots, voire les lignes
On peut même vouloir tout lire d'un coup ...
... en une seule ligne de code !

Source / Exemple :


#include <iostream>
#include <fstream>
#include <string>
using namespace std;
/*quatre méthodes de lecture de flux*/
int main()
{
	cout << "taper des phrases (lecture par caracteres)" << endl
		<< "\t double CTRL+Z pour finir" << endl;
	char c;
	while (cin >> c) cout << c << "|";
	cout << endl;

	cin.clear();//mettre le flux "good"
	cout << "\n\ntaper une phrase (lecture par mots)" << endl
		<< "\t double CTRL+Z pour finir" << endl;
	string s;
	while (cin >> s) cout << s << "|";
	cout << endl;

	cin.clear();
	cout << "\n\ntaper une phrase (lecture par lignes entieres)" << endl
		<< "\t CTRL+Z pour finir" << endl;
	char ligne[80];
	while (cin.getline(ligne, 80)) cout << ligne << "|" << endl;
	cout << endl;

	cout << "\n\nLecture du fichier test.txt EN UN COUP !\n";
	ifstream in("test.txt");
	if (in.fail()) cout << "fichier test.txt non trouve...\n";
	else cout << in.rdbuf() << endl ; // <==ICI==
	return 0;
	}
/

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.