C语言的fwrite
时间: 2024-10-22 19:00:41 浏览: 35
`fwrite`是C标准库函数,属于stdio.h头文件的一部分,用于将指定大小的数据块写入到二进制文件中。它的原型如下:
```c
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
```
这里的参数解释如下:
- `ptr`: 指向要写入文件的起始地址的指针,可以是一个数组或单个变量的地址。
- `size`: 每次写入的数据块的字节数。
- `count`: 要写入文件的元素个数,基于`size`计算实际的字节数量。
- `stream`: 指向`FILE`类型的指针,表示要操作的文件句柄,通常由`fopen`函数打开。
`fwrite`函数执行后,如果所有数据都成功写入文件,它会返回实际写入的元素个数(可能小于`count`,如果遇到文件结束)。若发生错误,会返回`0`。
以下是`fwrite`的一般用法示例:
```c
char data[] = "Hello, World!";
size_t bytes_written;
// 打开或创建文件
FILE *file = fopen("example.txt", "wb");
if (file != NULL) {
// 写入数据
bytes_written = fwrite(data, sizeof(char), strlen(data), file);
if (bytes_written == strlen(data)) {
printf("所有数据已成功写入文件\n");
} else {
printf("写入部分数据,%zu/%zu 字符\n", bytes_written, strlen(data));
}
// 关闭文件
fclose(file);
} else {
printf("无法打开文件\n");
}
```
阅读全文