PDA

Visualizza la versione completa : [C] Aprire un file e leggere riga per riga


magicofred
18-05-2006, 18:36
Salve... arrivo al mio problema..
ho aperto un file con fopen, poi ho assegnato ad un array di char, cioè
char c[100];
c = fread (c, 1, 100, pf);

poi ho fatto un

puts(c);

e mi stampa oltre al file, alla fine dei caratteri strani...

il file è composto come segue:
"ciao
sono
io"

e poi vlevo chiedervi avendo un file, dove su ogni riga c'è una parola, come faccio tramite un ciclo ad accedere ad ogni riga?? grazie spero di esser stato abbastanza chiaro!

king64
18-05-2006, 18:55
Prova ad inizializzare la stringa con un valore nullo . Per leggere le righe , volendo leggere il file tramite una stringa di n caratteri , utilizza la funzione strtok( ) , utilizzando come token il carattere di new line '\n' . Oppure effettui una lettura del testo per caratteri e identificando una riga quando leggi un carattere di new line '\n' . Saluti :ciauz:

ascatem2
18-05-2006, 21:11
dipende come apri il file

se è un file di testo non puoi usare fread perchè è per file binari.

devi usare fgets che legge stringhe da file di testo.

se invece il file è binario non puoi usare puts

Loading