【发布时间】:2013-06-08 07:21:46
【问题描述】:
是否可以将整个结构写入文件
示例:
struct date {
char day[80];
int month;
int year;
};
【问题讨论】:
-
是........
是否可以将整个结构写入文件
示例:
struct date {
char day[80];
int month;
int year;
};
【问题讨论】:
是否可以将整个结构写入文件
您的问题实际上是将结构实例写入文件。
fwrite 函数来实现。sizeof第二个参数中的每个对象binary mode中的文件。在小端系统中写/读和在大端系统中读/写时要小心字节顺序,反之亦然。阅读how-to-write-endian-agnostic-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);
}
你可以用同样的方式阅读它们......使用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);
【讨论】:
O�[name���)�����������.N=�'@�����������V)�mailH��)�� @���� @@б���`?这是因为字符编码错误,还是其他原因?