PDA

Visualizza la versione completa : [C] Ritornare all'inizio del file letto


hurricane86
24-12-2006, 19:15
C' una qualche funzione che mi permette di far tornare il mio stream *FILE all'inizio dopo averlo letto? Mi serve perch altrimenti tutte le volte devo riutilizzare la funzione fopen...

grazie mille

zero85
24-12-2006, 19:22
Usa la funzione fseek()



fseek(file_name, 0, SEEK_SET)


fseek ritorna un intero: 0 se il cursore viene correttamente riposizionato oppure -1 se occorre un errore

hurricane86
24-12-2006, 21:10
grazie mille!

Habanero
27-12-2006, 14:07
La fseek sicuramente pi generale in quanto permette il posizionalmento arbitrario del file pointer sll'interno del file. In ogni caso l'istruzione segnalata da zero85 non corretta. Il primo argomento della fseek non il nome del file ma il puntatore allo stream restituito dalla fopen.





FILE *stream;

stream=fopen("nomefile","r");
.....
.....
fseek(stream, 0, SEEK_SET)


Se per ti serve semplicemente tornare all'inizio del file puoi usare rewind al posto di fseek.

rewind(stream)

Loading