编写一个从二进制文件中读取服装信息的函数。
相关知识
打开文件
要以二进制的方式操作文件,需要首先以二进制的方式打开文件。以二进制方式打开文件只需要在打开方式中增加字符 b 即可。
例如:
FILE *fp = fopen("a.dat", "rb");
以上代码中文件的打开方式为 rb ,字符 r 表示打开的文件用于读,字符 b 表示以二进制的方式打开。
读写文件
打开文件后依然是文件读写。二进制文件的可以使用 fread 和 fwrite 函数。
fwrite 函数
函数 fwrite 的原型为:
size_t fwrite(const void *buffer, size_t size, size_t count, FILE *stream);
- size_t 为类型 long 的别名。函数 fwrite 实现把内存中从指定位置开始的指定个数的字节以二进制的方式写入文件。
- 第一个参数 buffer 指向内存中要写入文件的数据的首地址。
- 第二个参数 size 是要写入文件的数据对象的大小,一般使用运算符
sizeof 计算数据对象所占空间的字节数。 - 第三个参数是要写入的数据对象的个数。
- 第四个参数是文件指针,指向要写入数据的文件。函数fwrite 可以一次将从 buffer 开始的,size*count 个字节的数据写入指针 stream 指向的文件中。
例如下面的程序可以将一个整数以二进制方式写入文件:
int n = 100;
FILE *fp = fopen("a.dat","wb"); // 打开二进制文件 a.dat 用于写
fwrite(&n,sizeof(n),1,fp); // 将 n 以二进制形式写入文件
fread 函数
函数 fread 的原型为: