海鸟域生活馆

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

fwrite 函数是一个 C 语言标准库函数,用于将数据写入文件。它功能强大,操作便捷,是程序员必备的工具之一。今天,我将带大家深入了解fwrite 函数,并通过生动的例子展示其用法。
fwrite 函数:轻松实现文件写入

fwrite 函数的原型如下:

```c

size_t fwrite(const void ptr, size_t size, size_t nmemb, FILE stream);

```

  • ptr:要写入的数据的首地址。
  • size:要写入的每个元素的大小(以字节为单位)。
  • nmemb:要写入的元素的数量。
  • 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 函数是一个非常有用的函数,它可以帮助程序员轻松地将数据写入文件。它既支持写入基本数据类型,也支持写入结构体数据。

    标签:C 语言,fwrite,文件写入,数据写入

    兴趣推荐

    • Linux 和 C 语言:强强联手,开创数字世界

      1年前: Linux 和 C 语言是计算机领域的黄金搭档,它们共同推动了数字革命,塑造了我们今天生活的技术世界。在这篇文章中,我们将深入探讨这两位老友之间的密切关系,并展示它们是如何让技术世界变得更强大、更智能的。