关键词

C语言中对文件最基本的读取和写入函数

在C语言中,对文件最基本的读取和写入函数是fopen、fread、fwrite和fclose函数,这些函数都在stdio.h头文件中声明。

打开文件函数fopen

打开文件函数fopen用于打开一个文件,它的基本语法是:

FILE *fopen(const char *filename, const char *mode);

其中,filename是文件的路径及文件名,可以是相对路径或绝对路径,mode是打开的方式。
mode有以下几种常用的方式:

  • "r":以只读方式打开文件,文件必须存在
  • "w":以写方式打开文件,如果文件存在,则文件被截断,如果文件不存在,则创建文件
  • "a":以追加写方式打开文件,如果文件存在,写操作从文件末尾开始;如果文件不存在,相当于"w"方式

示例代码1:打开一个文件以只读方式读取

#include <stdio.h>

int main()
{
    FILE *fp;
    char c;

    fp = fopen("file.txt", "r"); // 打开文件以只读方式读取
    if (fp == NULL)
    {
        printf("文件打开失败\n");
        return 1;
    }

    while ((c = fgetc(fp)) != EOF) // 每次从文件中读取一个字符,直到结尾
    {
        printf("%c", c); // 输出读取的字符
    }

    fclose(fp); // 关闭文件

    return 0;
}

读取文件函数fread

读取文件函数fread用于从文件中读取数据,它的基本语法是:

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream);

其中,ptr是存储读取数据的缓冲区,size是每个元素的大小,nmemb是想要读取的元素的个数,stream是要读取的文件指针。
函数返回实际读取的元素个数,如果发生错误返回小于nmemb的数或0。
示例代码2:从文件中读取一段数据

#include <stdio.h>

int main()
{
    FILE *fp;
    int array[10];
    int i;

    fp = fopen("data.bin", "rb"); // 打开一个二进制文件以只读方式读取
    if (fp == NULL)
    {
        printf("文件打开失败\n");
        return 1;
    }

    fread(array, sizeof(int), 10, fp); // 从文件中读取10个整数到数组中

    for (i = 0; i < 10; i++)
    {
        printf("%d ", array[i]); // 输出读取的数据
    }

    fclose(fp); // 关闭文件

    return 0;
}

写入文件函数fwrite

写入文件函数fwrite用于向文件中写入数据,它的基本语法如下:

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

其中,ptr是存储要写入的数据的缓冲区,size是每个元素的大小,nmemb是想要写入的元素的个数,stream是要写入的文件指针。
函数返回实际写入的元素个数,如果发生错误返回小于nmemb的数或0。
示例代码3:向文件中写入一段数据

#include <stdio.h>

int main()
{
    FILE *fp;
    int array[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int i;

    fp = fopen("data.bin", "wb"); // 打开一个二进制文件以写方式写入
    if (fp == NULL)
    {
        printf("文件打开失败\n");
        return 1;
    }

    fwrite(array, sizeof(int), 10, fp); // 将数组中的数据写入文件中

    fclose(fp); // 关闭文件

    return 0;
}

关闭文件函数fclose

关闭文件函数fclose用于关闭文件指针,它的基本语法如下:

int fclose(FILE *stream);

其中,stream是要关闭的文件指针。
函数返回0表示成功,非0表示失败。

综上所述,对文件的基本读取和写入函数是fopen、fread、fwrite和fclose函数,它们可以完成C语言中对文件的基本操作。

本文链接:http://task.lmcjl.com/news/14442.html

展开阅读全文