C语言fwrite():向文件中写入一个数据块
fwrite() 是 C语言的一个标准库函数,定义在
fwrite() 函数用来向文件中写入块数据。所谓块数据,也就是若干个字节的数据,可以是一个字符,可以是一个字符串,可以是多行数据,并没有什么限制。
fwrite()函数的原型如下:
理论上,fwrite() 函数每次从文件中写入 size*count 个字节的数据。
【实例】下面是 C语言 fwrite() 函数的一个示例程序。
<stdio.h>
头文件中。fwrite() 函数用来向文件中写入块数据。所谓块数据,也就是若干个字节的数据,可以是一个字符,可以是一个字符串,可以是多行数据,并没有什么限制。
fwrite()函数的原型如下:
size_t fwrite(const void *ptr, size_t size, size_t count, FILE *stream);
参数
- ptr: 指向要写入到文件中的目标数据。
- size: 表示每个数据块的字节数。
- count: 表示要读写的数据块的块数。
- stream: 指向可以写入数据的文件。
理论上,fwrite() 函数每次从文件中写入 size*count 个字节的数据。
返回值
返回实际写入的块数,也即 count。如果实际写入的块数小于 count,则可能发生了错误,或者是文件位置指针到了文件末尾。【实例】下面是 C语言 fwrite() 函数的一个示例程序。
#include <stdio.h> struct Student { int id; char name[50]; float grade; }; int main() { FILE *file; file = fopen("students.bin", "wb"); if (file == NULL) { printf("Error opening file!\n"); return 1; } struct Student student1; student1.id = 1; strncpy(student1.name, "Alice", sizeof(student1.name) - 1); student1.grade = 90.5; size_t result = fwrite(&student1, sizeof(struct Student), 1, file); if (result != 1) { printf("Error writing to file!\n"); return 2; } fclose(file); printf("Data written successfully!\n"); return 0; }这段代码创建了一个名为 students.bin 的文件,并在其中写入了一个 Student 结构。如果文件无法打开或写入数据时出现错误,程序会打印错误消息并返回非零退出代码。