Supprimer certains caractères dans un fichier
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:
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 :P