Voila je souhaite lire un texte près formaté, qui sépare les différentes données par ";".
Pour vous en donner un aperçue :
Actuellemt, je ne sais utiliser que ifstream pour ouvrir mon fichier et j'utilise les flux pour attribuer les valeurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 "Abramites hypselonotus";"Günther, 1868";"Anostomidés";"23";"27";"0";"6.0";"7.5";"0.0";"4";"15";"0";"14.0";"14.0";"?";"Milieu & Inférieure";"Bassins de l'Amazone et de l'Orénoque";"Herbivore, il risque de manger les plantes de l'aquarium s'il est mal nourri.Lui fournir de la nourriture vegetale souvent pour eviter un carnage aux plantes. ";"non déterminé (oeil nu)";
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 ifstream fichier("poissons.txt"); // ouverture du fichier if ( fichier ) // ce test échoue si le fichier n'est pas ouvert { int nbrpoissons; // variable contenant le nombre de poissons donné au début du fichier. fichier >> nbrpoissons; cout << "il y a "<<nbrpoissons<<" poissons dans la BDD."; string texte; // variable contenant le texte lu // cette boucle s'arrête dès qu'une erreur de lecture survient int count = 0; while (!fichier.eof()) { fichier >> texte; poissons[count]->setnom( texte ); count++; } }
Mais voila le problème c'est que cette méthode ne coupe pas aux bons endroits(";"). En effet elle coupe le texte au niveau des espaces!!
En C j'aurais utilisé un scanf, mais en C++, je ne sais pas comment faire.
Si quelqu'un a une idée, je suis preneur.
Merci de m'avoir lu en tout cas ;-)
Partager