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 :

Lire fichier .txt dans une structure


Sujet :

C++

  1. #1
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 214
    Points : 367
    Points
    367
    Par défaut Lire fichier .txt dans une structure
    Bonjour

    J'ai un fichier texte
    77002114522400000M02T0001111M02T00001054 1850120178 000180410
    77002114522400000Z07Z0001128Z07Z00001069 18 0520178 000077260

    et une structure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    struct enregA{
        char id[12]; // 770021145224
        char filler [5]; // 00000
        char code[5]; //M02T0,Z07Z0
    ];
    Le fichier txt est sans séparateur, la longueur des champs est connu … mais il y a plus de 100 champs les traiter un a un est illisible et impossible a faire evoluer
    Je voudrais lire le fichier text dans une structure … afin qu'une ligne se découpe d'elle même
    j'ai essaye la lecture du fichier en binaire mais le resultat n'est pas probant $
    de plus je voudrais une fois découpé, ecrire une ligne découpée en séparant les champs par des ";" mais sans avoir a la énumérer, certains champs seront retravaillés

    dans main

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        enregA enreg;
        ifstream FileIn("fichier.txt", ios_base::binary);
        FileIn.read(reinterpret_cast<char*>(&enreg), sizeof(enregA));
        FileIn.close();
     
        cout << enreg.id << endl;                                       //Affiche toute la ligne lue au lieu du champs id seulement
       cout << string(enreg.id,sizeof(enreg.id)) << endl;     //Affiche le contenu de Id

    Si vous connaissez un lien ie "lire un fichier txt dans une structure en c++" ?? qui ne considere pas que le fichier ne comporte que des nombres ou que les champs soit déjà delimités ??
    Je n'ai pas été capable de trouver de trouver de toute la journée
    Merci pour votre aide

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Si le fichier a exactement le bon format tu peux tres bien lire directement le contenu du stream std::istream::read.
    Sinon, lire champ par champ ca reste le mieux pour gerer les types de chaque.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 214
    Points : 367
    Points
    367
    Par défaut
    Effectivement, je peux lire champs par champs en utilisant istream::read, et en faisant des traitements dans certains cas.

    Merci pour de m'avoir répondu si rapidement

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 22/07/2015, 08h13
  2. [DDE]Import fichier .txt dans une base Access
    Par stoonman dans le forum Access
    Réponses: 3
    Dernier message: 23/03/2007, 19h08
  3. Réponses: 8
    Dernier message: 28/12/2006, 14h18
  4. importation d'un fichier txt dans une table
    Par pierre.egaud dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/09/2006, 16h26
  5. ligne de fichier txt dans une variable
    Par suya95 dans le forum Langage
    Réponses: 2
    Dernier message: 25/07/2006, 10h14

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