函数名: fread, fwrite - 二进制输入/输出流 头文件: #include <stdio.h> 函数原型: size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); 【参数】: void *ptr: 待读(写)取文件内容的缓存地址 size_t size:待 读(写)单位的尺寸,例如char类型,则size=sizeof(char), int类型则size=sizeof(int),这个也和缓存地址的类型相关关。通常缓存地址为char* 类型, 则size为1. size_t nmemb:待读(写)单位的数量。 FILE *stream: 打开的文件流。 功能描述: fread() 函数读取 nmemb个元素数据,每个元素的长度为size, 读取的起始位置是stream的当前位置, 读取到的数据存储在缓存地址ptr fwrite() 写入nmemb个元素数据,
每个元素的长度为size, 写入的起始位置是stream的当前位置 , 写入的数据存储在缓存地址ptr 返回值: fread() 和fwrite()函数,返回读取或者写入的元素数量,而不是字符的个数。如果发生了错误或者是到达文件末尾,返回值是一个小于nmemb或者为0的值。 fread()不区分文件结尾和错误发生, 需要调用feof()和ferror()来检验到底哪种情况发生了,这也是写这篇文章的原因. 参考材料:release 3.23 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www./doc/man-pages/. |
|