fwrite 返回值并不是字节数
需求 使用 fwrite 写入时,返回值和字节数目对应不上,这是什么情况? 解决 因为 fwrite 和 write 之类的系统直接提供的接口不一样, fwrite 返回的是写入的数据块的个数。如果数据是以字节作为数据来写入,那么返回值就是字节数,否则返回值是和 count 这个参数相关联,而不是单纯的字节数。 size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream); // -- buffer:指向数据块的指针 // -- size:每个数据的大小,单位为Byte(例如:sizeof(int)就是4) // -- count:数据个数 // -- stream:文件指针 参考 fwrite()的返回值随着格式的不同返回值也不同; fopen()、fwrite()、fread()函数使用说明与示例 C 库函数 - fwrite()