Je développe mon programme sous linux et cette fonction me pose problème. En fait, j'ai dans un répertoire "utilisateurs" des fichiers dont la structure est la suivante :
le fichier "fichier" contient "fichier pass"
le fichier "dupond" contient "dupond xyz"
Ma fonction ouvre un fichier et renvoie une donnée. Mais elle ne marche que la première fois. Si je l'éxécute de nouveau avec le même fichier mais en demandant une donnée différente, mon programme plante. Pouvez-vous m'aider ?
Voici ma fonction :
string demanderinfo(string utilisateur, int champs){
string resultat; string chemin; string donnees[MAXCHAMPS]; ifstream fichier; int j = 1; chemin = "utilisateurs//" + utilisateur; fichier.open(chemin.c_str()); //Ouverture du fichier
while(j<=MAXCHAMPS){ fichier >> donnees[j]; cout << donnees[j]; j++; } fichier.close();
resultat = donnees[champs];
if(resultat.length()==0){ resultat = "erreur"; } return resultat; }
|
Qu'est-ce qui ne va pas là dedant ? J'ai pensé peut-être au pointeur de fichier qui resterait à la fin (je dis ça comme ça) mais alors comment on le remonte ?