Probléme de compilation
Bonsoir,
Voila j'ai ecrit un petit code qui compte les lignes d'un fichier texte et extrait chaque ligne dans un tableau, mais quand je compile le programme je reçoie une erreur au niveau de la fonction getline . Je vous pris de m'aider
la fonction :
Personne LoadPersonne(Personne P)
{
int id,age,nbrLigne=0;
string nom,s;
char s1,s2;
string fichier("personne.txt");
ifstream entree(fichier.c_str(),ios::in);
if(entree.fail()){
cerr<<"impossible de charger le fichier "<<fichier<<endl;
}
else{
while (std::getline (fichier, s)){
++nbrLigne;
}
while(!entree.eof()){
entree>>id>>nom>>age;
P.ajout(id,nom,age,nbrLigne);//nbrligne pour indiquer l'indice de la case ou on va commencer l'implémentation des données
}
}
entree.close();
return P;
}
l'erreur que je reçoive : no matching function for call to`getline(std::string&, std::string&)'
Voila j'ai ecrit un petit code qui compte les lignes d'un fichier texte et extrait chaque ligne dans un tableau, mais quand je compile le programme je reçoie une erreur au niveau de la fonction getline . Je vous pris de m'aider
la fonction :
Personne LoadPersonne(Personne P)
{
int id,age,nbrLigne=0;
string nom,s;
char s1,s2;
string fichier("personne.txt");
ifstream entree(fichier.c_str(),ios::in);
if(entree.fail()){
cerr<<"impossible de charger le fichier "<<fichier<<endl;
}
else{
while (std::getline (fichier, s)){
++nbrLigne;
}
while(!entree.eof()){
entree>>id>>nom>>age;
P.ajout(id,nom,age,nbrLigne);//nbrligne pour indiquer l'indice de la case ou on va commencer l'implémentation des données
}
}
entree.close();
return P;
}
l'erreur que je reçoive : no matching function for call to`getline(std::string&, std::string&)'
Configuration: Windows XP Firefox 3.0.4
1 réponse
-
Contributeurbonjour,
C'est normal, cette fonction n'existe pas ! En premier argument, il faut mettre un flux et "fichier" est un string.
https://en.cppreference.com/w/cpp/string/basic_string/getline[]=getline