Lecture dans un fichier et conversion avec std::istringstream
Bonjour,
J'essaie de lire le contenu d'un fichier texte dont le contenu ressemble � ceci :
Pour chaque ligne je voudrais r�cup�rer les deux valeurs dans deux variables de type int.
J'y parviens en utilisant ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
int main(int argc, char **argv) {
string nomFichier = "test1.txt";
ifstream fichier(nomFichier.c_str(), ios::in);
string ligne;
int first, second;
while(getline(fichier, ligne)) {
cout << ligne << "\t=>\t";
istringstream ss(ligne);
ss >> first >> second;
cout << first << "\t" << second << endl;
ss.str().clear();
}
fichier.close();
return 0;
} |
Le seul "probl�me" est que je d�clare un istringstream � chaque it�ration, ce qui ne me semble pas tr�s propre ni optimis�.
Pouvez-vous m'indiquer comment modifier ce code pour ne cr�er un qu'un seul istringstream et le r�initialiser avec la nouvelle ligne � chaque passage dans la boucle ?
Je pr�cise que je suis d�butant en C++ et que j'ai trouv� un message, ici, qui semble r�pondre � ma question, mais je n'ai pas r�ussi � mettre en oeuvre la solution indiqu�e.
Merci d'avance