da serialina80 » sab nov 01, 2008 11:24 am
ops scusa......questo è il codice di esempio:
- Codice: Seleziona tutto
/*il programma deve aprire un file di testo contenente un certo numero di righe e per ogni riga 3 numeri.Si posiziona alla riga n(scelta dall'utente)
e fa la somma dei numeri di quella riga.Esempio file:
Numeri.txt
3 67 22
11 2 40
22 7 9
//include librerie
FILE *fd;
char buff[size_buff];
int iriga=0;
int nriga;//valore scelto dall'utente
int main(int argc, char **argv){
//faccio inserire dall'utente il numero di riga di cui voglio la somma con i rispettivi controlli...nriga=2
.........
........
fd=fopen("Numeri.txt","r") //apro il file in lettura....Ho omesso il controllo degli errori sulla funzione per semplificare
while((fgets(buff,size_buff,fd))!=NULL){//fgets mi estrae da fd una riga, il ciclo while mi permette di scorrere tutte le righe
iriga++;//contatore di riga
if(iriga==nriga){// quando il contatore iriga è uguale al valore scelto dall'utente
//estraggo ogni elemento dell'n-esima riga con strtok()
//effettuo la somma......ricorda!! con atoi converti la porzione di stringa puntata in intero
}
}
fclose(fd);
}
Dunque..... per posizionarsi alla riga n ho usato fgets con il while(e non fseek),perché fgets legge stringhe fino a che non trova il carattere'\0' che indica il carattere di fine riga.
Conclusione: non c'era bisogno di essere dei geni,bastava passare ore ed ore sul manuale del C.....è li il problema
La ragione parla un linguaggio che l'emozione non comprende