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 :

mode d'ouverture d'un fichier


Sujet :

C

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2009
    Messages
    392
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 392
    Par défaut mode d'ouverture d'un fichier
    Bonjour,

    J'ai remarqué que à chaque fois on appelle une fonction il y a une ligne s'ajoute à la fin. ceci c'est bon et à la fin du programme j'obtiens le fichier "resultat.txt" qui contient le résultat souhaité.
    Ceci grâce au mode de l'ouverture de fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fpR = fopen ("resultat.txt","a");
    Mais, lorsque je exécute le programme une autre fois, je remarque que le contenu de l'ancienne exécution reste.

    Je voudrais à chaque exécution j'obtiens le contenu réel du fichier "resultat.txt" et donc pas du cumul

    il y a un autre mode qui permet d'ajouter à la fin du fichier et ouvrir un nouveau fichier dans la prochaine exécution ?

    Que proposez-vous ?

  2. #2
    Membre éprouvé
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 143
    Par défaut
    Salut,

    Le petit "a" c'est pour "append" ou "appen" en gros tu RAJOUTE au bout.

    Met simplement un "w" ou "r" suivant ce que tu veut.

    le "w" écrase le contenu me semble t-il.

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 129
    Billets dans le blog
    149
    Par défaut
    Sous linux:
    man fopen ( dans un shell )

    Sous windows:
    man fopen ( avec google )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    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
    Tout (ou presque) est expliqué dans ce tutoriel.

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par vivaviva Voir le message
    il y a un autre mode qui permet d'ajouter à la fin du fichier et ouvrir un nouveau fichier dans la prochaine exécution ?
    Whaou. Ca c'est de la question. Tu voudrais une commande qui
    - ajoute à la fin du fichier 1
    - enregistre quelque part dans le système que si on relance le programme une seconde fois, il faudra alors ouvrir un nouveau fichier ?
    Concept intéressant. Déjà, je me pose la réflexion suivante: quand on lance le programme, mis à part la toute première fois, on est alors dans le second lancement (du point de vue de l'exécution précédente) donc la commande magique ayant oeuvré à l'exécution précédente, on ouvre automatiquement le nouveau fichier. Comme ce fichier est nouveau, pas la peine qu'il soit ouvert en mode "a" vu qu'il est vide. Donc l'action n° 1 de la commande magique n'a aucune raison d'être (hormis au premier lancement).

    Bon, assez ri. Tu devrais réfléchir à la façon de formuler tes idées...

    Citation Envoyé par vivaviva Voir le message
    Que proposez-vous ?
    Tu te prends par la main et tu te codes le truc qui gère les fichiers présents et qui crée automatiquement un nouveau fichier (tempname() peut t'aider)

    Citation Envoyé par rilou Voir le message
    Salut,

    Le petit "a" c'est pour "append" ou "appen" en gros tu RAJOUTE au bout.

    Met simplement un "w" ou "r" suivant ce que tu veut.

    le "w" écrase le contenu me semble t-il.
    r => ouvert pour lecture seulement
    w => ouvert pour écriture seulement - mise à zéro du fichier s'il est non vide
    a => ouvert pour ajout à la fin
    r+ => ouvert en lecture mais possibilité d'écrire. Nécessité de bien gérer la position de son pointeur car toute lecture le déplace et toute écriture se fait là où il se trouve
    w+ => ouvert pour écriture avec RAZ si non vide mais possibilité aussi de lire ce qui s'y trouve
    a+ => ouvert pour ajout à la fin mais possibilité aussi de lire ce qui s'y trouve

    Et sous Windows, on peut rajouter à tous ces modes le caractère "b" (ex: "r+b") indiquant au système qu'on veut travailler sur un fichier binaire (inutile sous les systèmes de type unixoides pour lesquels il n'y a aucune distinction "binaire/texte" mais autorisé pour la compatibilité)

    Et si on passe dans les commandes bas niveau (open/close), alors on a d'autres options de réglage comme par exemple "protéger un fichier existant et créer s'il n'existe pas", etc...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Mode d'ouverture 'rt' pour un fichier ?
    Par php_codeur dans le forum C
    Réponses: 4
    Dernier message: 30/12/2013, 11h34
  2. [AC-2003] Mode d'ouverture d'un fichier Excel
    Par ChChatou dans le forum VBA Access
    Réponses: 3
    Dernier message: 21/05/2011, 15h44
  3. [XL-2003] Fichiers csv et mode d'ouverture
    Par crashtib dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 14/09/2010, 13h12
  4. Modes d'ouvertures des fichiers
    Par Invité dans le forum Bibliothèque standard
    Réponses: 6
    Dernier message: 02/08/2008, 11h17
  5. mode d'ouverture fichier
    Par jmclej dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 12/12/2005, 21h58

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