fwrite 函数:轻松实现文件写入

fwrite 函数的原型如下:
```c
size_t fwrite(const void ptr, size_t size, size_t nmemb, FILE stream);
```
fwrite 函数返回实际写入的元素数量。如果写入成功,则返回 nmemb;如果由于某种原因没有写入 nmemb 个元素,则返回一个小于 nmemb 的值。
以下是一个使用 fwrite 函数写入数据的示例:
```c
#include
int main() {
FILE *fp = fopen("data.txt", "w");
if (fp == NULL) {
perror("Error opening file");
return EXIT_FAILURE;
}
int data[] = {1, 2, 3, 4, 5};
size_t n = fwrite(data, sizeof(int), 5, fp);
if (n != 5) {
perror("Error writing to file");
return EXIT_FAILURE;
}
fclose(fp);
return EXIT_SUCCESS;
}
```
上文示例中,首先尝试打开文件 data.txt 并将其设置为写入模式。如果打开文件成功,则将数组 data 中的数据写入文件。随后关闭文件并退出程序。
fwrite 函数还支持写入结构体数据。以下是一个使用 fwrite 函数写入结构体数据的示例:
```c
#include
typedef struct {
int id;
char name[32];
} person;
int main() {
FILE *fp = fopen("data.bin", "wb");
if (fp == NULL) {
perror("Error opening file");
return EXIT_FAILURE;
}
person p = {1, "John Doe"};
size_t n = fwrite(&p, sizeof(person), 1, fp);
if (n != 1) {
perror("Error writing to file");
return EXIT_FAILURE;
}
fclose(fp);
return EXIT_SUCCESS;
}
```
在这个示例中,尝试打开一个名为 data.bin 的二进制文件并将其设置为写入模式。接着定义了一个名为 person 的结构体,并创建了一个 person 类型的变量 p。最后,将变量 p 写入文件并关闭文件。
fwrite 函数是一个非常有用的函数,它可以帮助程序员轻松地将数据写入文件。它既支持写入基本数据类型,也支持写入结构体数据。
兴趣推荐
-
Linux 和 C 语言:强强联手,开创数字世界
1年前: Linux 和 C 语言是计算机领域的黄金搭档,它们共同推动了数字革命,塑造了我们今天生活的技术世界。在这篇文章中,我们将深入探讨这两位老友之间的密切关系,并展示它们是如何让技术世界变得更强大、更智能的。