come faccio a leggere un numero all interno di un file
esempio
asd asd 45 ash fghj
getc prendere 1 carattere alla volta
fgetc una riga
e per una parola?
come faccio a leggere un numero all interno di un file
esempio
asd asd 45 ash fghj
getc prendere 1 carattere alla volta
fgetc una riga
e per una parola?
Puoi leggere un carattere alla volta e verificare se è un numero oppure no mediante l'utilizzo della funzione isdigit(...)
Se non hai modo di vedere la sintassi, fammi sapere che te la posto
La luce è più veloce del suono,ecco xchè alcune persone sembrano brillanti fino a quando non parlano
Originariamente inviato da m@ximo
Puoi leggere un carattere alla volta e verificare se è un numero oppure no mediante l'utilizzo della funzione isdigit(...)
Se non hai modo di vedere la sintassi, fammi sapere che te la posto
si ma se leggo carattere per carattere leggero 45 come 4 e poi come 5 ..
a me serviva un modo che una volta arrivto al 4 prendeva tutto il numero assieme...
e possibile cio' ?
le parole nella riga sono separate da qualcosa (spazi, caratteri particolari) ?
La luce è più veloce del suono,ecco xchè alcune persone sembrano brillanti fino a quando non parlano
uno o + per la precisione
si vede che facciamo tutti e tre lo stesso progetto? :gren:
cmq secondo me fai prima a leggere carattere per caarttere come abbiamo fatto per la getword...
Portati tutta la riga in memoria con fgets e scannala con sscanf.
Se vuoi programmare in maniera professionale cmq ti consiglio di non usare lo standard io.
Ciao !
:master:Originariamente inviato da /* Coder */
Se vuoi programmare in maniera professionale cmq ti consiglio di non usare lo standard io.
la lettura avviene da file in ogni caso
Prova questo codice:
"riga" è un char* che contiene la riga intera del tuo file.
Questo codice stampa tutti i numeri contenuti nella riga, con l'incoveniente che se trova uno 0 non lo riconosce, se può andare ci accontentiamo sennò troviamo una soluzionecodice:char* s = strtok(riga," "); while(s) { /* Con file devi sostituire il nome del tuo file */ if(atoi(s)) /* Questo è un numero */ s = strtok(NULL," "); }
La luce è più veloce del suono,ecco xchè alcune persone sembrano brillanti fino a quando non parlano
grazie
ma a me serviva un comando che prendeva tutto da spazio a spazio tipo la fgetc che si ferma allo /n volevo una che si fermava allo spazio... se nn ce' faccio manualmente