char actuel; char avant; char apres; avant = fgetc(stream); actuel = fgetc(stream); apres = fgetc(stream); char *fichier_en_memoire; // malloc de la taille du fichier char *p = fichier_en_memoire; // le pointeur qui va se déplacer apres l'écriture d'un caractère *p = avant; p++; do { // là tu fais tes test // et tu stockes actuel dans la memoire s'il le faut // *p = actuel; p++; // à la fin de la boucle tu fais avant = actuel; actuel = apres; apres = fgetc(stream); }while(apres != EOF); // là tu dois test les derniers octets // puis femre le fichier // tu l'ouvres en ecriture ("w") et tu écrases tout
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
E.....S.....S.....A.....I.....E
..........prev...pos..suiv
prev = pos; pos = suiv; suiv = fgetc(stream);
if ((pos != '.' && pos != ',') || (pos == '.' && pos == ',' && prev != '0' && prev != '1' ... etc && suiv != '0' && ...)) fprintf(stream1, "%c", pos);
#include <vcl.h> #include <string.h> #include <stdio.h> int main(void) { FILE *stream, *stream1; char ch; stream = fopen("file.txt", "r+"); stream1 = fopen("file1.txt", "w+"); int actuel 0, avant 0, avant_avant = 0; do { avant_avant = avant; avant = actuel; actuel = fgetc(stream); if(isdigit(actuel) && (avant =='.'||avant ==',') && isdigit(avant_avant) ) fprintf(stream1, "%c%c", avant, actuel); else if(actuel != '.' && actuel != ',') fprintf(stream1,"%c",actuel); } while (actuel != EOF); fclose(stream); fclose(stream1); return 0; }
#include <string.h> #include <stdio.h> #include <ctype.h> int main(void) { FILE *stream, *stream1; int actuel 0, avant 0, avant_avant = 0; stream = fopen("file.txt", "r+"); stream1 = fopen("file1.txt", "w+"); do { avant_avant = avant; avant = actuel; actuel = fgetc(stream); /* Si actuel == EOF, on ne continue pas, sinon le caractère EOF est ajouté pour rien ! */ if (actuel == EOF) break; if (isdigit(actuel) && (avant =='.'||avant ==',') && isdigit(avant_avant)) fprintf(stream1, "%c%c", avant, actuel); else if (actuel != '.' && actuel != ',') fprintf(stream1, "%c", actuel); } while (actuel != EOF); fclose(stream); fclose(stream1); return 0; }
warning: implicit declaration of function ‘isdigit’