Ho il seguente programma:usando fwrite() per scrivere una struttura in un file
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXLEN 100
typedef struct {int key; char data[MAXLEN];} record;
main(int argc, char *argv[])
{
int n, i;
record x;
FILE *fp;
fp = fopen(argv[1], "w+");
printf("How many records will be entered? \n");
scanf("%d", &n);
for (i=0; i<n; i++)
{
printf("Enter record: \n");
scanf("%d", &x.key);
scanf("%s", &x.data);
fwrite(&x, sizeof(record), 1, fp);
}
}
Quello che sto facendo è la creazione di record da input dell'utente, e quindi la memorizzazione di questi "record" in un file. Tuttavia, quando utilizzo fwrite(), il file che viene creato ha molti caratteri strani scritti in esso, invece di avere semplicemente ogni record con la sua chiave e i suoi dati. Qualcuno può dirmi perché sta scrivendo tutti questi strani personaggi?
sì, il mio errore, ho corretto il titolo. – me45