Est-il possible d'écrire une structure entière dans un fichier
exemple:
struct date {
char day[80];
int month;
int year;
};
Est-il possible d'écrire une structure entière dans un fichier
Votre question est en train d'écrire des instances de struct dans un fichier.
fwrite
pour y parvenir.sizeof
chaque objet du deuxième argumentbinary mode
.Faites attention à l'endianité lorsque vous écrivez/lisez dans les petits systèmes endiens et lisez/écrivez dans les grands systèmes endiens et vice versa. Lire comment-écrire-code-agnostique-endian-c-c-code
struct date *object=malloc(sizeof(struct date));
strcpy(object->day,"Good day");
object->month=6;
object->year=2013;
FILE * file= fopen("output", "wb");
if (file != NULL) {
fwrite(object, sizeof(struct date), 1, file);
fclose(file);
}
Vous pouvez les lire de la même manière .... en utilisant fread
struct date *object2=malloc(sizeof(struct date));
FILE * file= fopen("output", "rb");
if (file != NULL) {
fread(object2, sizeof(struct date), 1, file);
fclose(file);
}
printf("%s/%d/%d\n",object2->day,object2->month,object2->year);