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 结构。如果文件无法打开或写入数据时出现错误,程序会打印错误消息并返回非零退出代码。
ICP备案:
公安联网备案: