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 :

écriture dans un fichier sans écrasement


Sujet :

C

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut écriture dans un fichier sans écrasement
    Bonjour !

    je dois créer un fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    /* Creation du fichier de resultat */
    f_out = fopen(OUTPUT, "w"); /* write */
    fprintf(f_out, "test\n");
     
    fclose(f_out);
    se code est dans une boucle, et je voudrais que l'écriture se fasse à la suite de ce qu'il y a déjà dans le fichier... sans écraser quoi !

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    voir le flag a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fopen (fichier, "a+" );

  3. #3
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Pourquoi ne pas simplement sortir le fopen() et le fclose() de la boucle?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Par défaut
    et bien parce que chaque passage dans la boucle donne un résultat différent. Et le but est de stocker dans le fichier chacun de ces résultat. D'où l'intérêt de ne pas écraser ce qu'il y avait précédemment dans le fichier.

    J'ai trouvé mon bonheur avec "a+"

    merci @ vous

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 266
    Par défaut
    Non il suffit de mettre le flag a+ pour ne pas écraser dans son fichier comme l'a suggéré sauviron34.

    Pour ce qui est de la boucle, n'ayant pas le code à disposition on ne sait pas ce que c'est comme boucle.
    S'il s'agit d'une boucle traitant plsuieurs fichiers différents alors c'est justifié d'avoir le fopen et le fclose dans cette boucle.
    Si par contre la boucle traite toujours le même fichier alors en effet il serait judicieux de sortir ces deux appels de la boucle.

    [Edit : j'ai posté en même temps que ta réponse chti_juanito]

  6. #6
    Membre émérite Avatar de stephl
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 643
    Par défaut
    Citation Envoyé par chti_juanito
    et bien parce que chaque passage dans la boucle donne un résultat différent. Et le but est de stocker dans le fichier chacun de ces résultat. D'où l'intérêt de ne pas écraser ce qu'il y avait précédemment dans le fichier.

    J'ai trouvé mon bonheur avec "a+"

    merci @ vous
    Si tous les résultats sont stockés dans un unique fichier, il me semble plus logique et plus efficace d'ouvrir et fermer le fichier en dehors de la boucle. Ceci suffira à éviter l'écrasement des données.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 266
    Par défaut
    Citation Envoyé par stephl
    Si tous les résultats sont stockés dans un unique fichier, il me semble plus logique et plus efficace d'ouvrir et fermer le fichier en dehors de la boucle. Ceci suffira à éviter l'écrasement des données.
    Ca dépend du rôle de cette fameuse boucle...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/03/2011, 09h20
  2. [AC-2003] Écriture dans un fichier sans ""
    Par pasdoy dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/01/2011, 17h12
  3. Réponses: 4
    Dernier message: 26/05/2009, 09h15
  4. Écriture en début de fichier sans écrasement
    Par Rolf-IV dans le forum Langage
    Réponses: 2
    Dernier message: 12/07/2007, 13h14
  5. Ecrire dans un fichier sans supprimer le reste
    Par koan_sabian dans le forum Linux
    Réponses: 4
    Dernier message: 20/02/2003, 15h44

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