06/09/08 10:14
hasmet21
Salve ho un programma in C che legge da file dei dati, legge per prima cosa un numero intero,poi dovrebbe andare a capo e leggere due stringhe e un altro numero intero fino alla file del file, ma al primo giro del while non mi legge in maniera giusta la riga, non esiste una funzione tipo fseek per dire al programma di spostare il cursore della lettura a capo??? Vi posto un pezzo del codice
Il file da cui legge ha un intero come primo carattere, poi c'è un \n e poi ha il formato:
<cognome> <numero> <data>
Penso che sia un problema che non mi legge correttamente il \n, però non escludo che potrebbe essere anche altro
typedef struct{ char cognome[41],numero[16]; int data; }tel; FILE *file1; tel *vett; int i=0,sinct; file1=fopen("TEL.TXT","r"); vett=(tel*)calloc(1,sizeof(tel)); fscanf(file1,"%d",&sinct); while(!feof(file1)){ fscanf(file1,"%s %s %d",vett[i].cognome,vett[i].numero,&vett[i].data); i++; vett=realloc(vett,1); } dimt=i;
Il file da cui legge ha un intero come primo carattere, poi c'è un \n e poi ha il formato:
<cognome> <numero> <data>
Penso che sia un problema che non mi legge correttamente il \n, però non escludo che potrebbe essere anche altro
aaa