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 :

Comment vider un fichier avec option r+


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 160
    Par défaut Comment vider un fichier avec option r+
    Bonjour à tous,

    Voilà j ai une petite questiojn sur un fichier dans lequel j ecris des mots dedans.

    Si ce fichier n a comme option juste "w" (ecriture) a chaque fois que je relance mon programme, il se remplis et vide le texte precedent.( ce qui me va completement)

    Maintanant si je lui donne comme option "r+" (lecture ecriture) car je souhaiterais afficher de temps à temps son contenu dans la console, le fichier ne vide plus les textes precedent et ca c est dommage.(pour moi bien sur)

    Existe il une fonction qui avant chaque reecriture dans le fichier me vide les données precedentes.

    Merci par avance

    Shaz

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Je suppose qu'il faut deviner que tu ouvres ce fichier avec la fonction fopen()

    essaye avec l'option "w+" (voir le man de fopen)
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 160
    Par défaut
    Bonsoir ram-0000,

    Oui effectivement je l ouvre avec la fonction fopen() (il ya t il d autres façon d ouvrir un fichier ?).

    En tous les cas ca marche avec w+, mais je n arrive pas a l afficher dans la console.

    voila le code que j emploi pour y arriver:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      char chaine[TAILLE_MAX] = "";
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      if( fichier2 != NULL)
    {
           fgets(chaine, TAILLE_MAX, fichier2);
            printf("%s", chaine); 
     
            fclose(fichier2);
     }
    Il y a t il peut etre une erreur?

    Cordialement

    Shaz

  4. #4
    Membre très actif Avatar de elmcherqui
    Profil pro
    Inscrit en
    Février 2008
    Messages
    281
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Maroc

    Informations forums :
    Inscription : Février 2008
    Messages : 281
    Par défaut
    si tu n'a plus besoin des donnees efface le fichier et utilise fopen en mode r+ sa va le recreer vide .

  5. #5
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Citation Envoyé par shazad Voir le message
    Oui effectivement je l ouvre avec la fonction fopen() (il ya t il d autres façon d ouvrir un fichier ?).
    Oui, open() par exemple
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    160
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 160
    Par défaut
    Bonjour à tous,

    Et merci pour vos reponses.

    J ai essayer donc avec l option "w+" mais je n arrive pas à le lire.
    Il faut reelement qu il soit avec l option "w" pour que mon programme y ecrit à l interieur, mais alors pour le lire une fois le traitement fait; il est peut etre impossible de le lire dans la console. (?????)

    Merci par avance

  7. #7
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Quand tu ouvres un fichier en mode "w+", le fichier redevient vierge (il ne contient rien), tout comme si tu l'avit ouvert en mode "w". La différence avec "w", c'est qu'en "w+" tu peux aussi bien écrire (autorisé en mode "w") que lire (interdit en mode "w") dans le fichier. Il y a cependant certaines précautions à prendre :

    - avant d'effectuer une opération de lecture juste après une opération d'écriture, il faut tout d'abord appeler fflush ou une fonction de positionnement

    - avant d'effectuer une opération d'écriture juste après une opération de lecture, il faut d'abord appeler une fonction de positionnement, à moins d'avoir atteint la fin du fichier

    Si le problème persiste, poste ton code (complet).

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/11/2006, 11h56
  2. Comment sauvegarder un fichier avec choix du repertoire
    Par vantoff dans le forum C++Builder
    Réponses: 14
    Dernier message: 24/07/2006, 15h51
  3. Comment ouvrir un fichier avec AppWIZARD
    Par orj30754 dans le forum MFC
    Réponses: 1
    Dernier message: 24/05/2006, 17h24
  4. Serveur/Client UDP: comment envoyer un fichier avec mon code
    Par danje dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 21/12/2005, 14h54
  5. Comment joindre un fichier avec le composant CDONT
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 31/12/2004, 17h28

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