能否将整个结构体写入文件中?
例如:
struct date {
char day[80];
int month;
int year;
};
有没有可能将整个结构体写入文件?
fwrite
函数来实现这一点。sizeof
。二进制模式
打开文件。fread
函数从文件中读取对象。在小端系统中读/写并在大端系统中读/写时,注意字节序问题,反之亦然。请阅读如何编写与字节序无关的C/C++代码。
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);
}
您可以使用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);