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

C++ Discussion :

Problème lecture fichier en C++


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut Problème lecture fichier en C++
    Voilà je veux lire un fichier caractère par caractère, ma compil ne me donne aucune erreur mais pourtant le caractère obtenu n'est pas celui voulu.
    J'ai essayé de plusieurs manières.

    Pouvez vous me dire comment vous feriez pour lire un fichier txt ?

    Merci

  2. #2
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Si tu posts ton code on pourras t'indiquer ton erreur au lieu de donner une solution toute faite. Cela sera plus éducatif.

  3. #3
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Perso je ferais comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #include <fstream>
     
    int main()
    {
        std::ifstream File("Toto.txt");
     
        if (!File)
            return -1;
     
        char c;
        while (File.get(c))
        {
            // ...
        }
     
        return 0;
    }
    Mais poste plutôt ton code qu'on te dise ce qui ne va pas.

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    F1.get(&cara1,'\t');
    F1.read(&cara,sizeof(cara));
    Voilà 2 solutions que j'ai essayé, une me donne un caractère bizarroide et l'autre un caractère vide. Je finis par croire qu'en C c'est plus simple.

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    On ne peut pas voir le code complet ?

  6. #6
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    #include <fstream.h>
     
    main()								//programme principal
    {
     
    //-----------Déclaration des différentes variables nécessaires----------------
     
    char adresseF1[20],cara,cara1;
    int a=0,n=1;
    ifstream F1;
     
    cout<<"--------------Fusion des fichiers------------------\n\n";
     
    do
    {
    a=0;
    cout<<"Veuillez entrer le nom du fichier de base :\n";
    cin>>adresseF1;
    cout<<"Vous avez voulu utiliser "<<adresseF1<<" pour fichier de base.\n\n";
    ifstream F1 (adresseF1, ios::in|ios::nocreate);
    if (!F1)
    {
    cout<<"Nom de fichier incorrect : fichier inexistant\n\n";
    a=1;				// a nous sert juste à créer une condition de bouclage !
    }
    }
    while (a==1);
     
    fscanf
    F1.get(&cara1,'\t');
    F1.read(&cara,sizeof(cara));
    cout<<"Le caractere lu est "<<cara<<"\n\n"<<"Le deuxième cara est "<<cara1<<"\n\n";
     
    }

    Voilà un ti bout du programme car le reste n'est pas fait !!!


    [Balises CODE rajoutées par Loulou24, merci d'y penser à l'avenir]

  7. #7
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut


    La version de get que tu utilises est mauvaise : elle va extraire '\t' (9) caractères et les copier dans la chaîne (qui n'en es pas une chez toi) passée en premier paramètre.

    http://www.cplusplus.com/ref/iostream/istream/get.html

    Utilise int get() ou get(char& c). Ou encore l'opérateur >>.

    La fonction read va elle faire de la lecture brute, à ne pas utiliser si tu lis un fichier texte.

    Ton fichier texte contient quoi ?

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Désolé je ne pas mettre en codé mais c'est la première fois que je viens sur ce forum donc j'ai pas fais attention.

    Mon fichier texte est un listing de données concernant des personnes et je veux les classer dans un tableau.


    Si j'enlève le '\t' il me met une erreur de compil'.

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Ya rien à faire il me met toujours le même caractère bizarre !!!

    J'ai essayé toutes les solutions mais ya rien à faire !

    J'essais pourtant avec un fichier texte contenant l'alphabet mais ça marche pas non plus.

  10. #10
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    J'ai essayé toutes les solutions mais ya rien à faire !
    Celle que je t'ai donné fonctionne, au moins.


    Fichier Toto.txt

    abcdef

    Code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #include <fstream>
    #include <iostream>
     
    int main()
    {
        std::ifstream File("Toto.txt");
     
        if (!File)
            return -1;
     
        char c;
        while (File.get(c))
        {
            std::cout << c << std::endl;
        }
     
        return 0;
    }

    Sortie

    a
    b
    c
    d
    e
    f

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Je voudrais bien que tes solutions marchent mais malheureusement non pourtant j'ai le même style de fichier à lire. Je comprend pas il me met soit un caractère vide soit un caractère bizarre.

  12. #12
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    J'en deviens folle, si je copie texto le tien il marche mais pas le mien.
    Ya plein de différences mais si j'essais de lui donner la même forme comme enlever les .h par exemple... Là j'ai une foule d'erreur que je n'ai pas avec le tien . Je vais m'arracher les cheveux là. Je suis vraiment pas douée !

  13. #13
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Je pense que tu devrais aller faire un tour par là :

    http://c.developpez.com/faq/cpp/?pag...le#SL_iostream

  14. #14
    Membre du Club
    Inscrit en
    Mai 2003
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 99
    Points : 66
    Points
    66
    Par défaut
    Salut

    est ce que tu peux mettre ton fichier de test que tu essais de lire avec le resultat que tu obtiens et le résultat que tu veux obtenir!

  15. #15
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Je vous remercie mon problème est résolu même si je n'ai pas trouver d'explication, j'ai utilisé une autre méthode.

  16. #16
    Membre averti Avatar de niglo
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 379
    Points : 383
    Points
    383
    Par défaut
    Ou est encore passé la balise "résolu" : : : : :

  17. #17
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    En bas à gauche, si il a pas encore disparu

  18. #18
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Desole j'etais nouvelle et je connaissais pas veuillez pardonner mon ignorance !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème lecture fichier .avi TMediaPlayer
    Par Ice-tea dans le forum Delphi
    Réponses: 2
    Dernier message: 10/06/2007, 23h55
  2. [VB.NET]Problème lecture fichier texte
    Par zouhib dans le forum Windows Forms
    Réponses: 2
    Dernier message: 29/05/2006, 16h05
  3. Problème Lecture fichier
    Par Gebudi. dans le forum C++
    Réponses: 1
    Dernier message: 29/05/2006, 08h37
  4. problème lecture fichier
    Par Pleymo dans le forum Langage
    Réponses: 2
    Dernier message: 23/11/2005, 09h00
  5. [SAX] Problème lecture fichier xml
    Par BernardT dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 07/07/2005, 18h11

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