【C语言】文件的操作

2024-07-06 1755阅读

目录

  • 文件简介
    • 文件简单分类
    • 二进制文件和文本文件
    • 文件打开关闭
      • 文件打开函数
        • 目标文件
        • 文件指针
        • 打开方式
        • 接受习惯判空
        • 文件关闭函数
        • 文件顺序读写函数
          • 字符输入函数-fgetc
          • 字符输出函数-fputc
          • 字符串输入函数-fgets
          • 字符串输出函数-fputs
          • 二进制输入函数-fread
          • 二进制输出函数-fwrite
          • 格式化输入函数-fscanf
          • 格式化输出函数-fprintf
          • 对文件读写函数理解
            • 文件打开方式决定读写函数
            • 输入输出理解

              【C语言】文件的操作

              文件简介

              文件简单分类

              文件有很多种分类,我们要如何区分呢?当然是根据文件后缀名来区分。

              【C语言】文件的操作

              像图中标红的就是文件后缀名,有的人可能会疑惑为什么自己没有,通过设置就可以显示文件后缀名。点开文件资源管理器后按如下步骤就可以显示文件后缀名了。【C语言】文件的操作

              二进制文件和文本文件

              为了以下文件操作函数的讲解,我们先来介绍二进制文件和文本文件。

              数据在内存中以二进制存储,如果不加转换输出到外存文件中,该外存文件就被称为二进制文件。如果经过转换以ASCII码值存储的文件就是文本文件。

              文件打开关闭

              要想进行文件打开与关闭操作就要用到文件打开与关闭函数。

              文件打开函数

              【C语言】文件的操作

              目标文件

              目标文件是什么?难道是直接将文件名给过去吗?当然不是,我们要看目标文件与该源文件是否在同一路径下。如果在同一路径下就直接将文件名以及后缀传过去。

              data.txt
              

              如果不在同一路径就要将文件路径包含进去,格式是文件路径+文件名主干+文件后缀。c:\code\test.txt

              文件指针

              看上图的返回值就是一个文件指针,那我们定义一个文件指针就相当简单了。 FILE* pf 用来接收文件打开函数的返回值。

              打开方式

              OK到了这有懵逼了,打开方式是什么,打开方式如下图

              【C语言】文件的操作可以看见关于文件的操作有很多,但如果文件不存在时使用有写的操作时就会自动帮我们在当前路径下创建一个文件,其他操作则会直接报错。

              接受习惯判空

              FILE* pf = fopen("data.txt", "w");
              if (pf == NULL)
              	{
              		perror("fopen");
              		exit(1);
              	}
              

              这样可以判断我们是否打开文件成功。

              文件关闭函数

              【C语言】文件的操作参数就直接将上面创建的文件指针传过来就行。

              fclose(pf);
              	pf = NULL;
              

              文件顺序读写函数

              字符输入函数-fgetc

              【C语言】文件的操作该函数从文件起始位置开始往下读取一个字符并返回ASCII值。如果不进行该偏移操作,那下次使用就会从上次之后开始继续读取。

              char ch = '0';
              ch = fgetc(pf);
              printf("%d \n", ch);
              

              字符输出函数-fputc

              【C语言】文件的操作该函数将要输入的字符写进文件末尾。

              char ch = '0'; fputc(ch,pf);

              字符串输入函数-fgets

              【C语言】文件的操作该函数的作用就是将文件中n个字符输入到string中。但是如果遇到’\0’会提前结束。

              char a[20];
              fgets(a,5,pf);
              

              字符串输出函数-fputs

              【C语言】文件的操作

              该函数就是将字符串string写进文件中。遇到’\0’结束。

              char a[20] = "hello"
              fputs(a,pf);
              

              二进制输入函数-fread

              【C语言】文件的操作该函数就是将文件中的内存输入进来。

              char a[10];
              fread(a,sizeof(char),5,pf);
              

              二进制输出函数-fwrite

              【C语言】文件的操作该函数就是将内存数据写入文件中以二进制形式。

              char a[20] = "asdffv";
              fwrite(a,sizeof(a[0]),20,pf);
              

              格式化输入函数-fscanf

              【C语言】文件的操作该函数就比平常我们使用的scanf函数多了一个文件指针。其他参数都一样。

              int a;
              char b;
              fsanf(pf,"%d%c",&a,&b);
              

              格式化输出函数-fprintf

              【C语言】文件的操作该函数也是就比平常我们使用的printf函数多了一个文件指针。其他参数都一样。

              int a = 10;
              char b = 'a';
              fprintf(pf,"%d%c",a,b);
              

              对文件读写函数理解

              文件打开方式决定读写函数

              当我们用"r"“rb"方式打开时就只能进行输入函数,且该文件必须是已经存在的。

              当我们用"w”"wb"方式打开时就只能进行输出函数

              输入输出理解

              输入就是从文件中拿东西过来,不改变文件。所以用读"r"的操作

              输出就是将我们的东西输出进文件中,会改变文件,所以用写"w"的操作。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]