在 C 语言中,fwrite
函数用于向文件写入二进制数据。下面是一个使用 fwrite
写入数据到文件的示例代码。
#include <stdio.h>
#include <string.h>
static FILE *fp = NULL;
int main() {
// 打开文件用于写入二进制数据
fp = fopen("output.bin", "wb");
if (fp == NULL) {
perror("Failed to open file");
return 1; // 返回错误码
}
// 要写入的数据
const char *data = "Hello, World!";
// 写入数据到文件,sizeof(data) 是字符数组的大小
size_t written = fwrite(data, sizeof(char), strlen(data), fp);
if (written != strlen(data)) {
perror("Failed to write complete data");
fclose(fp); // 确保在出错时关闭文件
return 1;
}
printf("Data written successfully!\n");
// 关闭文件
fclose(fp);
return 0;
}
代码说明:
- 包含头文件:同样需要引入标准输入输出库
#include <stdio.h>
和字符串库#include <string.h>
。 - 定义静态指针:与之前相同,定义一个指向
FILE
的静态指针。 - 打开文件:使用
fopen
函数以二进制写模式(”wb”)打开或创建一个名为"output.bin"
的文件。如果打开失败,则返回NULL
并打印错误信息。 - 准备要写入的数据:将要写入的数据存储在一个字符数组中。
- 使用
fwrite
写入数据:调用fwrite
来将数据写入到打开的文件。这里传递了三个参数:- 数据的起始地址 (
data
) - 每个元素的字节大小 (
sizeof(char)
表示每个字符) - 要写入的元素数量(用字符串长度表示)
- 数据的起始地址 (
- 检查返回值:验证实际写入的字节数是否与预期一致,以确保所有数据都被成功写入。
- 关闭文件:最后,用
fclose()
关闭已打开的文件。
注意事项:
- 使用
"wb"
模式确保以二进制格式进行操作,而不是文本格式,这对于某些类型的数据(如图像、音频等)非常重要。 - 确保在完成所有操作后调用
fclose()
来关闭文件,以避免资源泄露。
内容由零声教学AI助手提供,问题来源于学员提问