Oppure

Loading
07/10/07 15:56
Galatolo_Federico
ho un problema che ci sto diventando matto:grr:
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.

:k:
Ultima modifica effettuata da WARRIOR 07/10/07 16:40
aaa