Salve a tutti.
Ho appena incominciato a studiare i file in c ed ho una domanda alla quale il libro non mi riesce a rispondere
io ho buttato giu questo semplice programma che mi richiedeva di leggere da file e inserirla in un array:
nt main ()
{
char buf[]="ciaomarco";
char ass[10];
int n;
FILE *fp;
fp=fopen("carattere.txt","w");
if(fp==NULL)
printf("errore");
fwrite(buf,sizeof(char),10,fp);
fclose(fp);
fp=fopen("carattere.txt","r");
n=fread(ass,1,10,fp);
printf("carattere: %s",ass);
printf("%d caratteri",n);
fclose(fp);
}
ok cosi mi funziona ma prima avevo fatto una variente di questo codice che era cosi:
nt main ()
{
char buf[]="ciaomarco";
char ass[10];
int n;
FILE *fp;
fp=fopen("carattere.txt","w+");
if(fp==NULL)
printf("errore");
fwrite(buf,sizeof(char),10,fp);
n=fread(ass,1,10,fp);
printf("carattere: %s",ass);
printf("%d caratteri",n);
fclose(fp);
}
E questo non funzionava, non mi scriveva ass a video, perchè? se io ho dato come operatore di file "w+" non dovrei sia scriverlo che leggerlo?
grazie a tutti...