用fread读取一个结构体数据,数据要怎么先储存?
发布网友
发布时间:2024-03-20 10:07
我来回答
共3个回答
热心网友
时间:2024-07-20 03:34
只需要将结构体通过fwrite写入就行;
struct Data;
Data dat;
FILE* fp;
// 赋值操作,以写二进制(wb+)打开文件等
fwrite(&dat, sizeof(Data), 1, fp);
读取只要定义好数据结构对象,然后获取就行。
Data dat;
// 以读二进制(rb)方式打开文件等
fread(&dat, sizeof(Data), 1, fp);
热心网友
时间:2024-07-20 03:33
你是要存还是要读?
写结构体到文件的方式:
FILE *Fd=fopen(filepath,"w");
struct Time time1;
time1.year=2013;
time1.mon=12;
time1.day=12;
time1.hour=8;
time1.min=23;
fwrite(&time1,sizeof(time1),1,Fd);
fclose(Fd);
从文件读结构体的方式:
struct Time Retime;
Fd=fopen(filepath,"r");
fread(&Retime,sizeof(Retime),1,Fd);
printf("hour=%d\n",Retime.hour);
fclose(Fd);
热心网友
时间:2024-07-20 03:35
你好!!
1、保证数据文件内有数据
2、数据文件的存放格式
3、实际打印num_list结构,看看有没有内容
4、最好把 info.dat 也贴出来,里面是2进制保存的吗