Bonjour,
Je dispose d'un fichier nommé fichier.txt, contenant un unique caractère (le chiffre 1).
J'aimerais récupérer cette valeur (1) de sorte à l'assigner à une variable var1.
Selon un site, ceci est possible via les flux de fichiers ifstream, et les fonctions getline(flux,var1) ou flux.get(var1) ou flux>>var1.
Hélas, aucunes de ces méthodes ne fonctionnent, dans mon cas.
Voici un exemple de code utilisant la fonction getline() :
int main()
{
string var1="abcd";
cout<<var1<<endl;
ifstream f1("fichier.txt", ios::in);
getline(f1,var1);
f1.close();
cout<<var1<<endl;
return 0;
}
Voici le résultat visible à l'écran lors de son exécution :
---cmd.exe---------------------------
abcd
abcd
--------------------------------------
On peut voir que la variable var1 n'a pas changé en contenu. Cette variable devrait contenir la valeur "1", suite au getline().
J'ai essayé les 3 fonctions différentes (getline(), get() et >>), en utilisant différents types de variables, et en donnant le nom du fichier fichier.txt de différentes façons (avec chemin inclu, relatif/absolu, ou sans), mais le résultat est toujours le même...
Je n'arrive pas à récupérer l'unique caractère présent dans mon fichier .txt.
Est-ce un problème de curseur ? Etant donné que je n'ai pas stipulé de mode écriture/lecture ios::trunc ou ios::app ou ios::ate, j'imagine que le curseur se positionne en début de fichier par défaut, non ?
Merci de m'aider.
PS : Les includes <iostream> <fstream> et <string> sont présents. (<windows.h> aussi, mais ceci, je crois, ne concerne pas les flux de fichiers)
Partager