Salve,
sto cercando di capire come funziona la lettura da e la scrittura su file.
Il programma dovrebbe leggere da file una serie di numeri, salvarli in un vettore, raddoppiare ogni elemento del vettore, e ricopiare in coda ai numeri iniziale il loro doppio ( quindi stampare sul file il vettore modificato).Purtroppo oltre a stampare sul file i numeri raddoppiati, mi stampa anche un altro numero che non so da dove proviene ecco :
Il codice è questo:
codice:
#include<stdlib.h>
#include<stdio.h>
main()
{
FILE* f;
char nome[10];
int vettore[10],i,z;
printf("Inserire il nome del file\n");
scanf("%s", nome);
f=fopen(nome, "r");
i=0;
if(f==NULL)
{
exit(0);
}
else
{
while(feof(f)==0)
{
fscanf(f,"%d", &vettore[i]);
i=i+1;
}
fclose(f);
for(z=0;z<i;z++)
{
vettore[z]=vettore[z]*2;
}
fopen(nome, "a");
for(z=0;z<i;z++)
{
fprintf(f,"%d\n", vettore[z]);
}
fclose(f);
}
system("pause");
}