Trouver et écrire dans un fichier un mot
Bonjour j'essaye d'écrire un programme qui lit une liste de mots dans un fichier et remplace chaque occurrence d'un mot A par un autre mot B, les deux mots étant fournis sur la ligne de commande ainsi que le nom des fichiers d'entrée et de sortie :
Code:
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
| #include <stdio.h>
#include <string.h>
#define MAX_LINE 120 // ?
int main(int argc, char * argv[])
{
const char fileOrig[32] = "donnees.txt";
const char fileRepl[32] = "myReplacedFile.txt";
char buffer[MAX_LINE+2];
char *buff_ptr, *find_ptr;
FILE *fp1, *fp2;
size_t find_len = strlen(argv[2]);
fp1 = fopen(fileOrig,"r");
fp2 = fopen(fileRepl,"w");
while(fgets(buffer,MAX_LINE+2,fp1))
{
buff_ptr = buffer;
while ((find_ptr = strstr(buff_ptr,argv[1])))
{
while(buff_ptr < find_ptr)
fputc((int)*buff_ptr++,fp2);
fputs(argv[2],fp2);
buff_ptr += find_len;
}
fputs(buff_ptr,fp2);
}
fclose(fp2);
fclose(fp1);
return 0;
} |
Mon problème ettant que ce programme ouvre bien un fichier de remplace mais ne remplace pas le mots du premiers fichier
merci de m'aider 2 semaine sur ce code je suis presque perdu mnt