函数的基本概念
之前我们说过 fread
函数,用于从文件中读取数据。今天来说说 fwrite
函数,它用于向文件中写入数据,和 fread
一个用于读,一个用于写,搭配使用。
在C语言中,fwrite
是一个用于向文件中写入数据的函数。它允许你将内存中的数据快速地写入到文件中,非常高效。
size_t fwrite(const void *buffer, size_t size, size_t count, FILE *stream);
- buffer:指向要写入数据的内存区域的指针。就好比是装着你要搬运的数据的箱子。
- size:每个数据元素的大小,以字节为单位。相当于告诉函数每个数据项占多少空间。
- count:要写入的数据元素的数量。也就是说,要搬运多少个这样的数据项。
- stream:指向 FILE 对象的指针,表示要写入数据的文件。
返回值:返回成功写入的数据元素的数量。如果这个值小于你期望的 count,可能是因为文件空间不足或者发生了其他错误。
使用示例
假设我们有一个整数数组,我们要把这些整数写入到一个文件中:
#include <stdio.h>
int main() {
FILE *file = fopen("output.bin", "wb"); // 以二进制写入模式打开文件
if (file == NULL) {
printf("Cannot open file");
return 1;
}
// 要写入的具体数据
int data[] = {10, 20, 30, 40, 50};
// 计算要写入的数组元素的数量
size_t count = sizeof(data) / sizeof(data[0]);
// 将数组中的数据写入文件
size_t result = fwrite(data, sizeof(int), count, file);
if (result == count) {
printf("All data have been written to the file successfully!");
} else {
printf("Error writing data to the file.");
}
// 关闭文件
fclose(file);
return 0;
}
写完后注意检查返回值,看看是不是和你期望写入的数量一样。要是小于,那可能出问题了。