Lire un fichier texte pré-formaté
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 :
Code:
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)"; |
Actuellemt, je ne sais utiliser que ifstream pour ouvrir mon fichier et j'utilise les flux pour attribuer les valeurs :
Code:
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 ;-)