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 : 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
    #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