PDA

Visualizza la versione completa : [c] lettura da file


arre
18-03-2009, 00:22
scusate io devo leggere delle righe da file ..
e tra queste ci sono anche dei numeri



FILE *fd;
char buf[200];
char *res;
/* apre il file */
fd=fopen("righe.txt", "r");
if( fd==NULL ) { perror("Errore in apertura del file");
exit(1); }
/* legge e stampa ogni riga */
while(1)
{ res=fgets(buf, 200, fd);
if( res==NULL )
break; }


per leggere le righe ho usato questo metodo se in una riga c' un numero che poi voglio mettere in un vettore che devo fare?

premesso io so quali sono le righe coi numeri

oregon
18-03-2009, 00:27
Converti la stringa letta in un numero con una funzione tipo atol o simile (dipende dal numero ...).

arre
18-03-2009, 00:32
scusami l'ignoranza.. atol che parametri vuole?? cmq un numero da 1 a 20..un int

oregon
18-03-2009, 00:34
atol
http://www.cplusplus.com/reference/clibrary/cstdlib/atol.html

arre
18-03-2009, 01:31
grazie ..risolto ..ho solo un ultimo quesito

io ho un vettore

char vettore[200];

perch quando faccio questo assegnamento mi dice che non corretto???

vettore=res;
ho provato anche
vettore=buf;

ma mi dice che son di tipo incompatibile

KrOW
18-03-2009, 11:39
Ciao . . . Il motivo semplice . . .quando definisci un array, nel tuo caso char vettore[200], come se definissi un puntatore const e quindi un espressione tipo:

vettore = buf;
non permessa siccome quello che fa cambiare il valore di un puntatore const . . . Se la tua intenzione era quella di copiare la stringa buf in vettore prova con la funzione strcpy:

strcpy(vettore, buf);

oregon
18-03-2009, 13:23
Originariamente inviato da arre

ma mi dice che son di tipo incompatibile

La risposta comunque, la avresti in un qualsiasi libro di C.

Queste sono le basi del linguaggio ... non capisco come si possa scrivere del codice utilizzando un linguaggio senza avere letto un libro di base ...

arre
18-03-2009, 13:34
Mi ero accorto dell'errore ,grazie comunque.
So che son le basi ma da molto che non programmo e spesso si perde pi tempo su queste boiate che altro.
Cmq son convinto che le cose si imparan pi programmando che sui manuali.

grazie comunque

saluti

MacApp
18-03-2009, 14:43
Originariamente inviato da arre
Mi ero accorto dell'errore ,grazie comunque.
So che son le basi ma da molto che non programmo e spesso si perde pi tempo su queste boiate che altro.
Cmq son convinto che le cose si imparan pi programmando che sui manuali.

grazie comunque

saluti

Se non ti studi bene un buon manuale, il tempo continuerai a perderlo proprio in quelle boiate.
;-)

oregon
18-03-2009, 15:38
Originariamente inviato da arre
Cmq son convinto che le cose si imparan pi programmando che sui manuali.

Secondo me e' una convinzione profondamente sbagliata ... comunque ...

Loading