07/10/07 15:56
Galatolo_Federico
ho un problema che ci sto diventando matto
vogli leggere un specifica riga di un file ad es. file "C:\ciao.txt" riga 2 come faccio?
io usovo:
FILE * pFile;
char string [100];
pFile = fopen ("C:\ciao.tx" , "r"
;
if (pFile == NULL) perror ("Errore"
;
else {
fgets (string , 100 , pFile);
puts (string);
fclose (pFile);
ma cosi mi legge la prima riga e basta mi potete dare quelche dritta su come fare
Ultima modifica effettuata da Galatolo_Federico 07/10/07 15:56
aaa
07/10/07 16:40
WARRIOR
Postato originariamente da Galatolo_Federico:
pFile = fopen ("C:\ciao.tx" , "r"
;
if (pFile == NULL) perror ("Errore"
;
else {
fgets (string , 100 , pFile);
puts (string);
fclose (pFile);
Beh, basta stilare un piccolo flow-chart.
Cosa succede, apri lo stream verso il file e controlli se l'operazione è avvenuta correttamente, se cosi fosse ti limiti a collocare nell'array string la prima riga del file.
Per prendere in considerazione più righe del file dovresti immettere un ciclo, per es. :
pFile = fopen ("C:\ciao.tx" , "r");
if (pFile == NULL) {
perror ("Errore");
return 0;
}
else {
while(!pFile.eof()) {
fgets(string , 100 , pFile);
puts (string);
}
}
fclose (pFile);
(Ho improvvisato il codice)
Cosi facendo, acquisisci tutte le righe del file fino ad eof, cioè la fine del file.
Per prendere una riga specifica, metti un contatore e quando quest'ultimo raggiunge il numero della riga stabilita, esci dal ciclo.
Nell'array ci saranno i dati desiserati.
Spero di esserti stato utile.
Ultima modifica effettuata da WARRIOR 07/10/07 16:40
aaa