PDA

View Full Version : [C] lettura da file riga per riga


EnergyVortex
31-05-2011, 12:14
Salve a tutti, ho bisogno di leggere da un file degli interi avendo però la possibilità di capire quando sono arrivato a fine riga e poter quindi riprendere dalla riga successiva.
La struttura del file è la seguente:

0 2 4 6 7
22 4 55 66 77 8
11 22
etc...

Cercando in rete l'unica cosa che mi è sembrata adatta è quella di prendere una riga alla volta e metterla in una stringa tramite fget() eppoi usare una certa funzione atoi() che a quanto ho letto, prende gli interi da una stringa.
E' possibile fare questa cosa?
C'è un modo migliore per ottenere quello che voglio?
L'ideale per me sarebbe far prendere interi dal file finchè non trova un carattere che per convenzione gli fa capire che è finita la riga, solo che poi non so come dirgli di riprendere dalla riga successiva.
Spero di essermi spiegato bene.
Ciao

demos88
31-05-2011, 12:57
Per leggere una riga alla volta usa la funzione fgets()
Per splittare la riga in stringhe contenenti ognuna un numero puoi usare strtok() che però non è molto semplice, oppure lo fai a mano leggendo carattere per carattere.
Per convertire la riga usi atoi() (non sono sicuro di come funzioni)

Per tutte e 3 le funzioni, consulta la documentazione.

EnergyVortex
07-06-2011, 16:31
grazie per le info comunque molto utili, alla fine sono riuscito a fare la stessa cosa senza avere bisogno di lavorare riga per riga!