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 :

remplace contenu fichier texte


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut remplace contenu fichier texte
    Bonjour,

    J'ai un petit soucis, tout simplement j'aiemrais modifier le contenu d'un fichier texte.
    mon fichier contient "Vous avez effectue 10 traitements"
    J'aimerais par exemple mettre 11 à la place de 10.
    Peut on supprimer tous le contenu d'un fichier sans supprimer ce dernier???

    Sinon pour le moment j'arrive à recuperer ma valeur 10

    merci pour votre aide

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut
    au fait je developpe en langage C

  3. #3
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    le 11 tu le sort d'où. c'est une variable dans ton programme ou c'est suite a la lecture du fichier.

  4. #4
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    Citation Envoyé par schumi101
    au fait je developpe en langage C
    c'est plutot bien sur le forum C.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut
    ce fichier c moi qui le cree mon 11 est une variable du programme

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut
    vi mais y a aussi c++ et c pas le meme style de developpment

  7. #7
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Citation Envoyé par schumi101
    Bonjour,

    J'ai un petit soucis, tout simplement j'aiemrais modifier le contenu d'un fichier texte.
    mon fichier contient "Vous avez effectue 10 traitements"
    J'aimerais par exemple mettre 11 à la place de 10.
    Peut on supprimer tous le contenu d'un fichier sans supprimer ce dernier???

    Sinon pour le moment j'arrive à recuperer ma valeur 10

    merci pour votre aide
    Oui on peut avec fseek() et fputc() mais tu ne pourra mettre que des chiffre de 00 à 99
    et oui on peut supprimer le contenu d'un fichier et le laisser vide en conservant ce dernier

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par schumi101
    Bonjour,

    J'ai un petit soucis, tout simplement j'aiemrais modifier le contenu d'un fichier texte.
    mon fichier contient "Vous avez effectue 10 traitements"
    J'aimerais par exemple mettre 11 à la place de 10.
    en mode "r+", on peut remplacer un byte par un autre, mais on a intérêt à savoir ce qu'on fait...

    si tu es absolument sûr de la position :
    • fopen()
    • fseek()
    • fputc()
    • fclose()

    Peut on supprimer tous le contenu d'un fichier sans supprimer ce dernier???
    Non, mais tu peux effacer le fichier (remove()) et en recréer un vide du même nom (fopen(), fclose()), ce qui revient au même... En fait, tu n'es même pas obligé de l'effacer, le mode "w" efface tout seul...

  9. #9
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    il te suffit alors de réécrire par dessus ton fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int n;
    //...
    FILE* fichier=fopen("monfichier.txt","wt");
    fprintf(fichier,"vous avez effectué %d traitements",n);
    fclose(fichier);
    n contient ta valeur. mais bien sur ca ne vas peut etre pas plaire a tous le monde a cause du fprintf.

    cette valeur tu va la relire par la suite pour la modifiée?

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par damienlann
    il te suffit alors de réécrire par dessus ton fichier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int n;
    //...
    FILE* fichier=fopen("monfichier.txt","wt");
    C'est quoi ce "wt" ? Pas du C.

  11. #11
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    C'est quoi ce "wt" ? Pas du C.
    ben w-> ecriture. t->mode texte. nan?

    on peut ajouter une petite verif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int n;
    //...
    FILE* fichier=fopen("monfichier.txt","wt");
    if(fichier)
    fprintf(fichier,"vous avez effectué %d traitements",n);
    fclose(fichier);

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut
    en effet cette valeur je vais la relire pour la modifier

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par damienlann
    ben w-> ecriture. t->mode texte. nan?
    Non. Rien de tel dans la spécification du langage C.

    http://www.open-std.org/JTC1/SC22/WG...docs/n1124.pdf

  14. #14
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    En clair : On ne précise pas texte. Si on ne met rien, c'est forcément texte.

  15. #15
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Non. Rien de tel dans la spécification du langage C.

    http://www.open-std.org/JTC1/SC22/WG...docs/n1124.pdf
    d'accord mais tu as déjà dut croisé cette chose.
    Comment se fait il que je l'utilise sans probleme? (ceci est une simple question..)
    Citation Envoyé par Médinoc
    En clair : On ne précise pas texte. Si on ne met rien, c'est forcément texte.
    oui mais le probleme est le meme si on veut faire du binaire il faut ecrire "wb".

  16. #16
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 69
    Points : 20
    Points
    20
    Par défaut
    merci en fait je reecrit le fichier en effet le mode "w" remplace tout c nickel sinon le peut rentrer valeur superieur à 99

  17. #17
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Citation Envoyé par schumi101
    merci en fait je reecrit le fichier en effet le mode "w" remplace tout c nickel sinon le peut rentrer valeur superieur à 99
    c'était si tu voulais juste remplacer 10 par une autre valeur sans tout écraser le reste de la chaine.

    Car 10 est codé sur 2 caractères et donc sur 2 caractères tu pourras mettre des chiffres allant de 00 à 99

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

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par damienlann
    Comment se fait il que je l'utilise sans probleme? (ceci est une simple question..)
    Tu dois aimer vivre dangereusement...

    Je ne sais pas... Essaye "wx" ou "w&" ou "w#" "w4" "write" je ne sais pas quel est le degré de tolérance de ton implémentation, mais vu du C, c'est "w" ou "wb". Point. Le reste, c'est du comportement indéfini.
    oui mais le probleme est le meme si on veut faire du binaire il faut ecrire "wb".
    Ben oui, c'est la norme...

    ---------
    En fait, il y a un "wt" dans les compilateurs Borland C des années 80... Ca a du rester...

  19. #19
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    c'est aussi resté chez MS (si je me souviens bien de ce que j'ai lu ici, ils étaient assez copains avec Borland pendant une époque ?)

  20. #20
    Membre actif Avatar de damienlann
    Profil pro
    Étudiant
    Inscrit en
    Mai 2005
    Messages
    293
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2005
    Messages : 293
    Points : 249
    Points
    249
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    oui mais le probleme est le meme si on veut faire du binaire il faut ecrire "wb".
    Ben oui, c'est la norme...
    OK c'est juste le "t" qui te génait.
    En fait, il y a un "wt" dans les compilateurs Borland C des années 80... Ca a du rester...
    genre turbo C nan ??

    c'est aussi resté chez MS (si je me souviens bien de ce que j'ai lu ici, ils étaient assez copains avec Borland pendant une époque ?)
    ils doivent toujours l'être nan ? Microsoft ne developpe pas de compilateur delphi c'est bizarre tu ne croit pas? enfin bref ca n'est pas la question

    schumi101: si ca te vas :
    sinon explique le probleme

Discussions similaires

  1. Copier Coller contenu fichier texte
    Par Nako_lito dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 18/08/2010, 10h24
  2. [E-00]Recuperer contenu fichier texte dans une feuil excel
    Par bastien_moi dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 16/10/2008, 16h34
  3. Scripting.FileSystemObject et affichage contenu fichier texte
    Par Mylene74 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 12/02/2008, 12h28
  4. contenu Fichier Texte dans une Dropdownlist
    Par IcedLand dans le forum ASP.NET
    Réponses: 1
    Dernier message: 23/08/2007, 16h54
  5. supprimer contenu fichier.text
    Par Alex35 dans le forum ASP
    Réponses: 3
    Dernier message: 20/03/2007, 13h29

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