leggendo nel deitel...ho visto un esempio e ho provato a riportarlo in C x vedere se riuscivo a capire gli effetti della fseek e della fwrite...ma...il file che la fwrite mi va a scrivere ha dei caratteri che nn dovrebbero esserci...
posto qua sotto il codice prova...sperando d nn aver scritto cose sbagliate...
codice:
#include <stdio.h>
struct data {
int conto;
char nome[10];
char cogn[15];
};
int main ()
{
struct data str = {0,"",""};
printf ("Inserire codice: ");
scanf ("%d", &str.conto);
FILE *aptr;
aptr = fopen ("File_causale.txt", "a+");
while ( str.conto != 0 ) {
printf ("Inserire nome e cognome: ");
scanf ("%s%s", str.nome, str.cogn);
fseek ( aptr,(str.conto-1)*sizeof( struct data), SEEK_SET);
fwrite (&str,sizeof(struct data),1,aptr);
printf ("Inserire un numero conto: ");
scanf ("%d", &str.conto);
fprintf (aptr,"\n");
}
fclose(aptr);
system ("pause");
}
cn input:
numero codice: 1
nome e cognome: mario rossi
numero codice: 2
nome e cognome: antonio verdi
numero codice: 3
nome e cognome: giuseppe bianco
numero codice: 0
termina.
.....il file che mi va a creare chiamato File_casuale.txt ha seguente contenuto:
mario rossi ÿ"
antonio verdi ÿ"
giuseppe bianco ÿ"
é normale che abbia anche quei caratteri strani??