Bonsoir tout le monde, je suis en train de créer un programme pour supprimer l’occurrence de certains caractères dans un fichier. Je me suis basé sur la boucle suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
       int car;
       FILE* f = fopen("dico.dat", "r+");
 
       if(!f)
       {
             perror("fopen");
             exit(EXIT_FAILURE);
       }
 
       while((car = fgetc(f)) != EOF)
            if(strchr("&-_~[](){}\\\"%^!/:.;?!", car))
                 fprintf(f, "\b");
Le comportement est vraiment bizarre, car quand je fais un "cat dico.dat" dans mon Shell, ça a bien enlevé toutes les occurrences des caractères mais quand je l'ouvre dans vim, ils sont toujours là... Mais il y-a tout de même un changement (l'apparition de "^H" devant chaque occurrence des ces caractères).

Si quelqu'un pourrait m'aiguiller, je lui en serait reconnaissant