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