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 un fichier et ecrire dessus a un endroit precis... [Non suivi]


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Par défaut Lire un fichier et ecrire dessus a un endroit precis...
    Salut tout le monde!
    Je cherche a lire un fichier? et une fois la chaine [NOM] rencontrée j'ecris a la suite un nom ...par exemple baka... Mais alors que tout me semble bien rien ne se fait...ou bien non.... le fichier d'origine est effacé.
    Alors ma question est celle ci... Comment lire dans un fichier et ecire dedans une fois la chaine voulue detecter???
    Voila je vous remercie d'avance et vous envoie ma source pour m'aider.
    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
    28
    29
    30
    31
    32
    33
     
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h> 
    #define nom "nom.txt"
     
    FILE *in,*out;
    int c;
     
    int main(int argc,char * * argv){
        //Ca je lai fait pour detecter le /0
        //Apparement je suis oblige de faire ca pour que fgets marche
        int max;
        char chaine[]="[NOM]";
        max=strlen("[NOM]");
        chaine[max+1]=0;
     
        if(argc!=2)
        exit(1);
     
        in=fopen(nom,"r");
        out=fopen(argv[1],"w"); 
        //Ici je parcours le fichier et une fois la chaine [NOM] lue
       //J'ecris a sa suite
        while((c=fgetc(in))!=EOF){
        if(fgets(chaine,sizeof chaine,in)){
        fputs("baka",out);
        }
        }  
        fclose(in);
        fclose(out);
        return 0;
    }
    Derniere precision... Mon fichier d'orignie contient ceci...
    [NOM]
    Apres la modification je cherche a avoir cela...
    [NOM]
    baka

    VOILA CIAO

  2. #2
    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 Re: Lire un fichier et ecrire dessus a un endroit precis...
    Citation Envoyé par kernerteam
    Derniere precision... Mon fichier d'orignie contient ceci...
    [NOM]
    Apres la modification je cherche a avoir cela...
    [NOM]
    baka

    VOILA CIAO
    Pour ajouter à la fin d'un fichier texte :

    - ouvrir en mode "a",
    - écrire.
    - fermer.

    Sinon on peut modifier des données existantes dans un fichier ouvert en mode binaire ("rb+") en se positionnant avec fseek() si on sait exactement la position du ou des bytes à modifier.

    On ne sait pas insérer. Pour ça, il faut 2 fichiers.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Par défaut
    Salut Emmanuel Delahaye, excuse moi si je me suis mal exprimé... La solution que tu ma donné ne m'efface deja pas ce qui est sur le fichier...mais il reste inchangé...C 'est comme si je n'ecrivais pas dessus...pourkoi .... Pour precision j'ai remplacé tout les "r" "w" par des "a".. Voila merci d'avance

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Par défaut
    Ton programme quitte normalement ?
    C'est pas un problème de synchro ? (faire un fflush() ou je sais plus quoi)...
    Par contre comme précise Emmanuel, attention à l'utilisation que tu veux en faire car cette méthode n'insère pas dans le sens propre du terme mais écrit donc si t'as déjà du contenu après ton [NAME], et que t'écrit après, le contenu initial sera effacé normalement...

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Janvier 2006
    Messages : 74
    Par défaut
    Tu devrais déja tester les valeurs de retour de ton fopen, et vérifier que tu lis bien tes arguments en affichant. Il se pourrait que tu es des problemes de '\' qu'il faut remplacer par '\\'

  6. #6
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    si tu cherches à faire de l'insertion j'ai une mauvaise nouvelle pour toi, c'est que les fichiers sont plutot à imaginer comme des TDA "pile" que ce que ce gedit laisse imaginer d'un fichier.

    Pas d'insertion.découpage puis recollage.

Discussions similaires

  1. ecrire et lire un fichier txt
    Par ka123tn dans le forum Débuter
    Réponses: 13
    Dernier message: 01/08/2009, 20h28
  2. ecrire et lire un fichier .txt
    Par sky88 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 20/04/2008, 16h28
  3. Comment creer (ecrire et lire) un fichier ?
    Par fefe69 dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 06/01/2008, 16h52
  4. Ecrire & lire un fichier texte sous Dev-C++
    Par ocean_prince11 dans le forum Dev-C++
    Réponses: 4
    Dernier message: 17/11/2007, 01h32
  5. [CSV] Ecrire et Lire un fichier Excel depuis PHP
    Par cocaetjusdorange dans le forum Langage
    Réponses: 7
    Dernier message: 08/02/2006, 11h10

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