一、函数原型
作用:将内存中的数据块以二进制形式写入文件,适用于非文本数据(如结构体、数组等)。
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
二、参数解析
ptr:指向待写入数据的缓冲区首地址,可以是数组、结构体或动态分配的内存块。size:单个数据项的字节大小,通常用sizeof运算符获取。count:要写入的数据项数量。stream:目标文件指针,需通过fopen以二进制模式打开。
三、返回值
成功时返回实际写入的数据项数量(非字节数)。失败时返回值可能小于count,需结合feof或ferror检查错误。
四、核心特性
- 二进制操作:默认处理二进制数据,适合图像、结构体等非文本内容。
- 写入位置:由文件打开模式决定。
- 缓冲区同步:写入后需调用
fflush(stream)或fclose(stream)确保数据持久化。
五、案例代码
案例1:写入字符串到文件
#include
int main() {
FILE* fp;
if (fopen_s(&fp,
