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之groupby( )用法笔记小结

    Pandas是Python中最流行的数据分析库之一,它提供了许多数据操作和处理的工具。其中一个重要的方法就是groupby()函数。 groupby()函数的基本用法 groupby()函数可以将数据按照某个或多个列进行分组,并将分组后的数据进行聚合处理。基本用法如下: df.groupby(by=None, axis=0, level=None, as_i…

    python 2023年5月14日
    00
  • Pandas中的布尔索引

    Pandas中的布尔索引是一种通过布尔值来筛选数据的方法。布尔索引可以使用一个布尔值数组,它的长度必须与要筛选的轴(axis)长度一致,以此来选择DataFrame或Series中符合某些条件的行或列。接下来,我们将详细介绍Pandas中使用布尔索引的完整攻略,包括使用布尔索引来过滤数据的步骤,并使用实例进一步说明。 步骤 使用布尔索引来过滤数据,需要遵循以…

    python-answer 2023年3月27日
    00
  • Python+Pandas实现数据透视表

    下面是Python+Pandas实现数据透视表的完整攻略: 一、数据透视表简介 数据透视表(Pivot Table)是一种多维度的数据分析方式,用于快速汇总和分析数据。它将原始数据按照指定的行列进行分组,再进行聚合统计,最终生成一张新的表格。 Pandas是Python中的一个强大的数据分析包,提供了Pivot Table功能,可以方便地实现数据透视表。 二…

    python 2023年5月14日
    00
  • pandas中的数据去重处理的实现方法

    下面就为您详细讲解一下pandas中的数据去重处理的实现方法: 一、pandas中的数据去重方法 pandas中的数据去重方法主要有两个函数来实现,分别是drop_duplicates()和duplicated()。接下来我们将一一介绍这两个函数的使用方法。 1.1 duplicated() duplicated()函数可以帮助我们查看DataFrame或S…

    python 2023年5月14日
    00
  • pandas基础 Series与Dataframe与numpy对二进制文件输入输出

    pandas基础 什么是pandas? pandas是一个开源的python数据分析库,它提供了快速、灵活和富于表现力的数据结构来操作结构化数据。pandas被广泛用于数据处理、数据清洗、数据分析和数据可视化等领域。 pandas中的主要数据结构 pandas中的主要数据结构有两种:Series和DataFrame。 Series Series是一种一维的数…

    python 2023年5月14日
    00
  • 从Pandas数据框架中的行创建一个列表

    从Pandas数据框架中的行创建一个列表通常有以下几个步骤: 步骤1:导入必要的库 在使用Pandas数据框架创建列表之前,需要导入Pandas库和任何其他需要使用的库。可以使用以下语句导入它们: import pandas as pd 步骤2:创建数据框 在创建行的列表之前,需要先创建一个数据框。数据框是Pandas库中最常用的数据结构之一,可以是二维的表…

    python-answer 2023年3月27日
    00
  • Python pandas的八个生命周期总结

    Python pandas的八个生命周期总结 1. 导入数据 在使用pandas进行数据处理之前,首先需要将数据导入到python环境中。pandas提供了多种方式来导入数据,包括从csv、excel、json、数据库等格式中导入数据。 以下是一个从csv文件中导入数据的示例: import pandas as pd data = pd.read_csv(‘…

    python 2023年5月14日
    00
  • Pandas中Series的属性,方法,常用操作使用案例

    下面是关于Pandas中Series的属性、方法、常用操作及示例说明的详细攻略。 1. Pandas中Series的属性 Series是Pandas中的一种数据类型,主要用来表示一维带标签的数组。它有以下几个常用的属性: values:获取Series的值,返回一个numpy数组。 index:获取Series的索引,返回一个Index对象。 dtype:获…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部