Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Questo frammento di codice dovrebbe leggere e stampare a video il contenuto di un file. La cosa che non mi è chiara è questo pezzo:
Codice sorgente - presumibilmente Plain Text
ch = fgetc(read);
Nel ciclo while non è presente nessun incremento ecc. e quindi in teoria dovrebbe prendere sempre la stessa lettera. L'unica spiegazione è che tutte le lettere vengono messe nel buffer
Codice sorgente - presumibilmente Plain Text
fgetc(read);
e una alla volta vengono prese da ch.
Ma non ne sono sicuro! Idee?
Ultima modifica effettuata da Pitagora il 14/11/2010 alle 16:55
per prima cosa, il codice è errato. Per funzionare, devi aprire il file con la fopen in questo modo:
Codice sorgente - presumibilmente C/C++
FILE *read = fopen("nomefile", "r");
char ch;
etc....
Quando apri un file con la fopen crei una specie di puntatore nel file che parte all'inizio.
La fgetc legge un carattere e sposta il puntatore in avanti per leggere il successivo.
Postato originariamente da lorenzo: Quando apri un file con la fopen crei una specie di puntatore nel file che parte all'inizio.
La fgetc legge un carattere e sposta il puntatore in avanti per leggere il successivo.
e naturalmente devi riposizionare il puntatore per poter rileggere un "punto" dal quale sei già passato. E' un pò come leggere un libro come lo fanno i bambini.....col dito sul foglio.....solo che può andare solo in avanti.