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语言中对文件的基本操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言中对文件最基本的读取和写入函数 - Python技术站

(0)
上一篇 2023年6月13日
下一篇 2023年6月13日

相关文章

  • Pandas DataFrame结构对象常用的属性和方法

    Pandas DataFrame是一个二维表结构,包含了行和列的标签,每一列可以有不同的数据类型。 以下是Pandas DataFrame结构对象常用的属性和方法: DataFrame结构对象属性 DataFrame对象常用的属性有: shape:返回DataFrame的形状(行数、列数) index:返回DataFrame的行索引 columns:返回Da…

    Pandas 2023年3月4日
    00
  • Python提高运行速度工具之Pandarallel的使用教程

    下面是详细的“Python提高运行速度工具之Pandarallel的使用教程”攻略。 1. 什么是Pandarallel Pandarallel是一个Python库,用于并行运行Pandas中的apply、map和applymap函数,使得代码可以更快地运行。Pandarallel采用了Dask并行框架,可用于本地和远程计算。 2. Pandarallel的…

    python 2023年5月14日
    00
  • 详解pandas中缺失数据处理的函数

    详解pandas中缺失数据处理的函数 pandas中的缺失数据 在数据处理中,常常会出现数据缺失的情况,例如采集数据时未能获取完整的数据、数据传输中遭受意外中断等。在pandas中,一般使用NaN表示缺失数据。 处理缺失数据的常用函数 1. isnull() isnull()函数用于判断数据是否为缺失值,返回一个布尔型的结果。 示例: import pand…

    python 2023年5月14日
    00
  • 使用Pandas apply()方法返回多列数据

    Pandas是Python中一个非常流行的数据处理和分析库,也是数据分析中不可或缺的组件之一。在使用Pandas的过程中,我们常常需要进行一些复杂的数据转换和处理操作。Pandas提供了很多灵活和强大的方法和函数,其中之一就是apply()方法。apply()方法可以接受一个自定义的函数,并且可以返回多列数据。本文就详细讲解如何使用apply()方法返回多列…

    python-answer 2023年3月27日
    00
  • 使用Pandas对数据进行筛选和排序的实现

    下面我来为您详细讲解使用Pandas对数据进行筛选和排序的实现的完整攻略。 一、筛选数据 Pandas提供了多种方式对DataFrame数据进行筛选,以下是其中几种常用方法: 1. loc方法 loc方法通过行或列的标签(Label)进行选择,可以使用逗号(‘,’)隔开,前面部分为行标签,后面部分为列标签。 示例: import pandas as pd d…

    python 2023年5月14日
    00
  • 通过匹配的ID号合并两个Pandas数据框

    通过匹配ID号合并两个 Pandas 数据框可以使用 Pandas 库的 merge() 函数。下面是完整的攻略步骤: 读入两个数据框,分别名为 df1 和 df2,两个数据框中都包含一个 ID 列。 import pandas as pd df1 = pd.read_csv(‘data1.csv’) df2 = pd.read_csv(‘data2.csv…

    python-answer 2023年3月27日
    00
  • python Pandas库基础分析之时间序列的处理详解

    Python Pandas库基础分析之时间序列的处理详解 一、时间序列简介 时间序列是一种特殊的数据类型,它是指将数据按时间先后顺序进行排列组织的数据。时间序列一般由三部分组成:时间戳(timestamp)、时间周期(period)和时间间隔(interval)。 在时间序列分析中,我们通常会进行一些预处理和处理操作,例如:对时间戳进行格式化、切片、滚动、偏…

    python 2023年5月14日
    00
  • 如何在Pandas中对一个多索引进行分组

    Pandas中对多索引进行分组可以使用groupby函数,以下是该过程的详细攻略和实例说明。 创建多索引数据 首先,我们需要创建一个多索引的数据集,示例代码如下: import pandas as pd import numpy as np index = pd.MultiIndex.from_product([[‘A’, ‘B’], [1, 2]], na…

    python-answer 2023年3月27日
    00
合作推广
合作推广
分享本页
返回顶部