C函数中的二进制I/O


一.前言
把数据写到文件效率最高的方法是用二进制形式写入。二进制输出避免了在数值转换为字符串过程中所涉及的开销和精度损失。但二进制数据并非人眼所能阅读。所以该方法只有当数据被另一个程序按顺序读取时才能使用。

fread函数用于读取二进制数据,fwrite函数用于写入二进制数据。

二.fread和fwrite
1.fread()和fwirte函数原型

1>size_t fread(void  *buffer,size_t  size,size_t count,FILE  *stream);

2>size_t fwirte(void  *buffer,size_t  size,size_t count,FILE *stream);

2.buffer是一个指向用于保存数据的内存位置的指针,size是缓冲区中每个元素的字节数,count是读取或写入的元素数,当然stream是数据读取或写入的留。

3.函数的返回值是实际读取或写入的元素(并非字节数目)。如果输入过程中遇到了文件末尾或者输出过程中出现了错误,这个数字可能比请求的元素数目要小。

相关内容