PDA

Visualizza la versione completa : [C] come leggere determinate righe di un file


19dani
05-11-2009, 14:29
Ciao a tutti,
ho un file con tante righe.
Ogni riga, dalla prima alla 22-esima, inizia con il carattere '#', mentre dalla 23-esima in poi ogni riga ha un numero.
Io devo lavorare sui numeri dalla riga 23-esima in poi, saltando così le prime 22 righe.
Qualcuno mi saprebbe dire come fare a saltare le prime 22 righe e partire dalla 23-esima?

Grazie

ant_alt
05-11-2009, 14:50
dato che si tratta di scorrere poche righe può andar bene un semplice for con fgets()

19dani
05-11-2009, 16:17
Innanzitutto grazie per l'aiuto.

Ho provato a fare come mi hai detto, e finalmente credo di aver aggirato il problema di scartare le prime 22 righe, perchè quando mando in esecuzione il codice non si blocca, facendo così:



FILE *ingresso;
int size=10;
int zz;
char punt[20];


for(zz=23; punt[zz]!='\0'; zz++) {


while((fgets(punt, 10, ingresso))!=NULL){

.
.
.
.
}
}






ora avrei un altro problema: devo fare delle operazioni sui numeri che trovo nel file dalla riga 23-esima fino all'ultima, e l'ultima riga è la 60.000 circa.
credi o credete che facendo così arrivo a fine file correttamente?

ant_alt
05-11-2009, 16:27
scusami hai scritto un codice che credo sia senza senso :stordita:


FILE*in=fopen("input.txt","r");
int i;
for(i=0;i<23;i++)fgets(NULL,1,in);

dopo aver eseguito questo ti trovi alla 23esima riga, quindi puoi cominciare a fare le operazioni che vuoi:)
ricorda che per le operazioni aritmetiche devi prima convertire i char in int

Loading