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 et écrire dans un fichier bin!


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 112
    Par défaut Lire et écrire dans un fichier bin!
    J'aimerai ouvrir un fichier bin, pour ensuite enregistré un liste chaîné à l'intérieur de ce fichier.
    J'aimerai aussi, mettre en mémoire la liste chainée qui se trouve sur un fichier bin. Ce qui me permetterai de travailler sur cette liste chaînée et lorsque je fermerai le programme, la liste chaînée s'enregisterai sur le fichier bin.
    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Pourquoi désires-tu enregistrer les noeuds de ta liste chaînée dans un fichier binaire. Je te rends attentif au fait que cette pratique peut poser de grands problèmes de portabilité. Un manière relativement portable de stocker une structure dans un fichier est de la stocker dans un fichier texte au format CSV (Comma Separated Values). Il existe également des techniques pour stocker une structure dans un fichier binaire de manière portable. Pour en savoir plus à ce sujet: http://emmanuel-delahaye.developpez....m#enreg_struct

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 112
    Par défaut problème
    peux tu m'envoyer un petit exemple de programme avec les listes chaînées en utilisant le fichier *.bin STP. Car sa ma l'air bien compliqué!!!

  4. #4
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par poche
    peux tu m'envoyer un petit exemple de programme avec les listes chaînées en utilisant le fichier *.bin STP. Car sa ma l'air bien compliqué!!!
    Il y a un exemple d'enregistrement naïf d'une structure dans un fichier binaire dans le lien que je t'ai passé. L'as-tu lu? N'hésites pas à poser des questions précises sur ce que tu ne comprends pas.

    Je n'ai malheureusement pas le temps d'écrire un exemple qui implante une liste chaînée ainsi que son gestionnaire de sauvegarde dans un fichier binaire maintenant. Mais le principe est le même que celui présenté sur le lien (chaque noeud de ta liste est représenté en mémoire par une structure, et ce sont ces noeuds que tu désires enregistrer), avec les même dangers.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 112
    Par défaut
    Oui mais le problème, c'est que l'exemple est avec un fichier texte et non bin. Sa marche pareil? Par contre, je comprend pas les dangers que sa représente!!!

  6. #6
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Citation Envoyé par poche
    Oui mais le problème, c'est que l'exemple est avec un fichier texte et non bin. Sa marche pareil? Par contre, je comprend pas les dangers que sa représente!!!
    Non, l'exemple utilise un fichier binaire. Qu'est-ce qui te fait dire le contraire? Ci-dessous, code écrit par Emmanuel Delahaye (http://emmanuel-delahaye.developpez....m#enreg_struct):
    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
    #include <stdio.h>
     
    struct data
    {
       char nom[32];
       int age;
    };
     
    int main (void)
    {
    #define FNAME "data.txt"
     
       struct data data = { "Emmanuel", 50 };
     
       FILE *fp = fopen (FNAME, "wb");
       if (fp != NULL)
       {
          fwrite (&data, sizeof data, 1, fp);
     
          fclose (fp), fp = NULL;
       }
       else
       {
          perror (FNAME);
       }
       return 0;
    }
    L'utilisation de fopen() avec le mode "wb" te permet d'ouvrir un fichier binaire en écriture. Voir: http://man.developpez.com/man3/fopen.3.php

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  7. #7
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par poche
    J'aimerai ouvrir un fichier bin, pour ensuite enregistré un liste chaîné à l'intérieur de ce fichier.
    J'aimerai aussi, mettre en mémoire la liste chainée qui se trouve sur un fichier bin. Ce qui me permetterai de travailler sur cette liste chaînée et lorsque je fermerai le programme, la liste chaînée s'enregisterai sur le fichier bin.
    Merci d'avance.
    Bien que ce soit techniquement possible, il n'y a aucun intérêt à enregistrer une liste chainée dans un fichier. En effet, les adresses ne sont pas portables et n'auront aucun sens à la relecture du code. C'est le cas pour toutes les structures non linéaires (donc, avec pointeurs)

    Par contre, une liste chainée étant une séquence de noeuds comprenant des données, on peut tout à fait enregistrer la séquence de données dans un fichier (texte de préférence, c'est plus portable), et ensuite refabriquer la liste chainée à la lecture à partir des données lues.

  8. #8
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 112
    Par défaut
    Vous pourriez pas m'envoyer un ptit bout de programme pr faire cela car je suis à la ramasse!!!!
    Merci d'avance

Discussions similaires

  1. lire et écrire dans un fichier
    Par aroua dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 04/04/2008, 14h44
  2. Lire et écrire dans un fichier binaire
    Par poche dans le forum C
    Réponses: 17
    Dernier message: 19/03/2007, 16h52
  3. lire et écrire dans un fichier
    Par karel dans le forum C
    Réponses: 15
    Dernier message: 18/01/2006, 17h24
  4. [FTP] Lire et écrire dans un fichier
    Par dj-julio dans le forum Langage
    Réponses: 49
    Dernier message: 12/01/2006, 11h59
  5. [Rech. Comp.] Lire et écrire dans des fichiers XML
    Par Rodrigue dans le forum C++Builder
    Réponses: 4
    Dernier message: 26/08/2005, 20h48

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