立即学习:https://edu.csdn.net/course/play/8088/178762?utm_source=blogtoedu
1. 将结构体写入二进制文件
fwrite的一般形式:
fwrite(buffer,size,count,fp);
buffer:指针或者说是个地址,要写到文件中去的数据就在这个地址里保存着;
size:要写入文件的字节数
count:要进行写入多少个size字节的数据项
fp:文件指针
返回值:如果fwrite失败,则返回0,否则返回count值;
注意事项:
(1)结构体中不要出现指针,因为指针指向一个地址,程序再次执行的时候,这个指针指向的地址很可能和你写入文件时该指针指向的地址不同了,所以保存上次指针指向的地址值是没意义的,如果引用了还可能导致程序报错崩溃
(2)结构体内存对齐问题,和编译器有关,有时定义的结构体总长度应该是42字节,但实际是48字节,为什么?因为vs编译器为了提高程序运行效率,有的时候可能一个变量不