Ho già provato a ricreare il file....
cmq ho migliorato le cose:
ora mi stampa 10 invece di 5....e se aggiungo una riga al file mi stampa 11....quindi ne legge 5 in più di default!L'unico problema potrebbe essere il file?Io ho un mac, scrivo su textedit e poi converto in txt, può essere quello il problema?codice:#include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX 100 struct dati { char codice[4]; int portata; }; typedef struct dati codiceautocarro; int main() { FILE *autocarri; int pesospedizione=0,i=0; codiceautocarro a[MAX]; autocarri=fopen("codice.txt","r"); if(autocarri==NULL) { printf("\n\nErrore nell'apertura del file\n\n"); exit(1); } printf("\nInserire il peso della prossima spedizione da effettuare >"); scanf("%d",&pesospedizione); while (fscanf (autocarri, "%s %d", a[i].codice,&a[i].portata)!=EOF && i < MAX) { fscanf(autocarri, "%s %d", a[i].codice,&a[i].portata); i++; } printf("Sono stati letti %d autocarri\n",i); fclose(autocarri); return 0; }

Rispondi quotando