IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages Discussion :

(RESOLU) [C++] flux de fichiers ifstream et lecture via getline/get/>>


Sujet :

Langages

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2017
    Messages : 2
    Par défaut (RESOLU) [C++] flux de fichiers ifstream et lecture via getline/get/>>
    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)

  2. #2
    Nouveau candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2017
    Messages : 2
    Par défaut
    Le problème est résolu, le code source était correct.

    Le problème était que le fichier .txt était présent dans le dossier du projet, et non dans le dossier "debug" où se trouve le .exe construit. Etant donné que je faisais mes tests en lançant le .exe, le programme ne trouvait pas le fichier.

Discussions similaires

  1. Ouvrir un fichier excel en lecture seule via VBA
    Par mbellemax dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/12/2017, 13h35
  2. Probleme lecture de fichier / ifstream
    Par Valkirion dans le forum SL & STL
    Réponses: 2
    Dernier message: 16/05/2007, 22h19
  3. lecture de fichier au format xls via un prog C++
    Par lepoutho dans le forum C++
    Réponses: 9
    Dernier message: 08/09/2005, 10h23
  4. [ifstream] pb lecture fichier non sequentielle
    Par bludo dans le forum SL & STL
    Réponses: 3
    Dernier message: 10/02/2005, 21h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo