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

Langage C++ Discussion :

Lecture/ecriture dans un fichier


Sujet :

Langage C++

  1. #1
    Membre confirmé
    Homme Profil pro
    Flutter/java/windev/php/javascript
    Inscrit en
    Octobre 2008
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Flutter/java/windev/php/javascript
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 87
    Par défaut Lecture/ecriture dans un fichier
    Bonjours, j'ai besoin de modifier une donnée dans un fichier contenant un vecteur "sérialisé".

    j'ai donc décidé de parcourir le fichier et une fois l'enregistrement retrouvé de revenir en arrière et de le ré-enregistrer. mais j'ai un soucis.

    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
        fstream file;
        struct sPersonne pers;
        struct sFedAdmin fed;
        file.open("FedAdmins.dat",ios::in|ios::binary);
        while(file.read((char*)&pers,sizeof(struct sPersonne)))
        {
            file.read((char*)&fed,sizeof(struct sFedAdmin));
            if(strcmp(fed.login, fa.getLogin())==0)//bonne pioche
            {
                strcpy(fed.competition,fa.getCompetition());
                file.seekg(-sizeof(struct sFedAdmin), ios_base::cur);
                file.write((char*)&fed,sizeof(struct sFedAdmin));
                break;
            }
     
        }
        file.close();
    mon fichier contenant une suite d'objets découpés en deux struct (sPersonne et sFedAdmin )
    ça compile/tourne mais a la lecture du fichier ce qui se trouvait dans la struct fed ne se retrouve pas dans le fichier...
    quelqu'un voit pourquoi?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 23
    Par défaut
    Bonjour,

    Il manque quelques informations pour pouvoir répondre à ta question. As tu le protocole de sérialisation ?
    Il est d'usage de mettre des entêtes lorsque l'on sérialise une donnée, c'est peut être ces entêtes qui décalent ta lecture.

    Si tu n'as pas le protocole de sérialisation, peut être devrait tu essayer de faire de reverse engineering en ouvrant ton fichier .dat avec un éditeur hexadécimal, et en essayant d'analyser ce qui s'y trouve.

Discussions similaires

  1. Lecture ecriture dans un fichier .mat avec C++
    Par WELCOMSMAIL dans le forum MATLAB
    Réponses: 1
    Dernier message: 10/09/2007, 11h29
  2. [IO] lecture ecriture dans un fichier
    Par grabriel dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 05/04/2007, 10h09
  3. probleme lecture ecriture dans des fichiers
    Par xman_genius dans le forum C
    Réponses: 9
    Dernier message: 16/01/2007, 19h50
  4. Lecture ecriture dans un fichier binaire
    Par laetous dans le forum C
    Réponses: 13
    Dernier message: 26/08/2006, 08h50
  5. ouverture/lecture/ecriture dans un fichier en mode binaire
    Par dirty_boy dans le forum Débuter
    Réponses: 2
    Dernier message: 15/03/2006, 08h38

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