Ho già provato a ricreare il file....
cmq ho migliorato le cose:
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;
}
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?