Modificare un file in c

di il
6 risposte

Modificare un file in c

Ciao a tutti sono nuovo ,stavo tentando di creare un piccolo programma che apra un file e che ne modifichi il contenuto raddoppiando i singoli caratteri .
esempio :
testo originale : aaa
risultato : bbb

questo e il codice :

#include<stdlib.h>
#include<stdio.h>

int main() {
FILE *FPtr;
char x, y;



/* apre il file */
if ((FPtr=fopen("test.txt", "rb+"))== NULL){
printf("Errore in apertura del file\n");
return 0;
}else{


/* ciclo di lettura */
while ( !feof( FPtr ) ) {

/* legge un carattere */
fread(&x, sizeof(char), 1, FPtr);

/* riposiziona */
fseek(FPtr, -sizeof(char), SEEK_CUR);

/* mette il doppio in y e lo scrive */
y=2*x;
fwrite(&y, sizeof(char), 1, FPtr);
}


/* chiude il file */
fclose(FPtr);
}

return 0;
}

il problema forse anche stupido e che il ciclo no termina mai !! fa il primo passaggio correttamente ma quando ritorna inizia un ciclo infinito che mi stampa sempre la seconda lettera
come mai ?? potete spiegarmi come risolvere e a cosa e dovuto questo errore ??
grazie in anticipo !

6 Risposte

  • Re: Modificare un file in c

    Il codice va postato formattato e con i tag code, senza non si legge!
  • Re: Modificare un file in c

    Consiglio personale a volte conviene utilizzare le cose che si conoscono bene anche se possono sembrare stupide e non serve strafare. Ho provato a fare il tuo esercizio con passaggi abbastanza elementari e sono arrivata subito a soluzione. Bastava prelevare il contenuto del file e salvare il contenuto su di una stringa. Per poi riscrivere nel file la stringa prelevata sommando 1.
     for(i=0; i<strlen(buf); i++){
      fprintf(fp, "%c", buf[i]+1);
     }
  • Re: Modificare un file in c

    Come ha detto SVNiko:

    SVNiko ha scritto:


    Il codice va postato formattato e con i tag code, senza non si legge!
    Risulta tutto molto più leggibile
  • Re: Modificare un file in c

    Guarda che questo thread è stato superato da altri thread che lo stesso autore ha aperto e in cui ha avuto altre risposte.
  • Re: Modificare un file in c

    Non lo sapevo. Io ci ho provato
  • Re: Modificare un file in c

    random_95 ha scritto:


    Non lo sapevo.
    https://www.iprogrammatori.it/forum-programmazione/member18667-posts.html
Devi accedere o registrarti per scrivere nel forum
6 risposte