éliminer les points et les virgules d'un text

thebestgirl Messages postés 11 Statut Membre -  
thebestgirl Messages postés 11 Statut Membre -
Bonjour,

ce programme permet d'éliminer tous les points et les virgules d'un fichier texte et met le résultat dans un autre fichier texte, il est bien exécutable,
mais j'ai 2 soucis:
-je ne veux pas les éliminer tous, si par exemple le point ou la virgule est compris entre 2 nombres (exp: 22.5), il ne faut pas l'éliminer.
-je veux que le résultat soit sur le même fichier d'entrée (le meme fichier s'ouvre en entrée sortie)
est ce que quelqu'un peut m'aider svp?

Code C/C++ :
#include <vcl.h>
#pragma hdrstop
#include <string.h>
#include <stdio.h>
#pragma argsused
int main(void)
{
FILE *stream, *stream1;
char ch;
stream = fopen("DUMMY.txt", "r+");
stream1 = fopen("DUMMY1.txt", "w+");
/* seek to the beginning of the file */
fseek(stream, 0, SEEK_SET);
do
{
/* read a char from the file */
ch = fgetc(stream);

if (ch != '.' && ch != ',')
fprintf(stream1,"%c",ch);

} while (ch != EOF);
fclose(stream);
fclose(stream1);
return 0;
}
A voir également:

1 réponse

francis
 
Salut,

Pour le fait de pas supprimer entre 2 chiffres, dès que tu repère un point ou une virgule, tu matte le caractère d'avant si il est compris entre 0x30 et 0x39, et pareil pour le caractère suivant.

Pour ton fichier, au fur et a mesure que tu lis le fichier d'entrée, tu écrit dans un fichier temporaire. Une fois que ta fini tes traitements, tu supprime le fichier d'entrée et tu renomme le fichier temporaire.
0
thebestgirl Messages postés 11 Statut Membre
 
salut,
une bonne idée pour le fichier,je vais l'essayer;
mais pour la lecture du caractère suivant et du caractère d'avant, j'ai pas su le faire, pouvez vous me dire quelles fonctions ou instructions me permettent de le faire.
0