Day20

发布于:2024-08-17 ⋅ 阅读:(89) ⋅ 点赞:(0)

文件操作

概述

  • 什么是文件

    文件保存在外存储器上(一般代指磁盘,也可以是U盘、移动硬盘等)的数据的集合。
     
  • 文件操作体现在哪几个方面

       1. 文件内容的读取

       2. 文件内容的写入

      数据的读取和写入可被视为针对文件进行输入和输出的操作,此时数据就像水流一样从外存储器流向内存,或者从内存流向外存储器,所以系统形象的称文件操作位文件流

          C语言程序对文件的操作采用 “ 文件缓冲机制 ” 。就是说在程序中对文件数据读写并不是直接操作文件中的数据,而是系统会为文件在内存中创建 “文件缓冲区” ,程序对文件的操作,其实是在缓冲区进行的

  • 文件的分类

            根据数据的存储方式划分:

            1. 文本文件 (ASCII文件)

            2. 二进制文件
     
  • 文件标识

            1. 文件系统中:路径 + 文件名,举例: d : /aaa/bbb.txt

            2. C语言程序中:文件指针(文件类型指针),语法:FILE *指针变量名

            
  • 文件操作的步骤:

       1.打开文件

       2.文件处理(读写文件)

       3.关闭文件

文件的操作

  • 打开文件,让系统为文件创建文件缓冲区;
     
    • 函数名:fopen
       
    • 头文件:#include <stdio.h>
       
    • 函数原型:FILE* fopen(const char *path,const char *mode);
       
    • 函数功能:打开文件,并为文件创建缓冲区
       
    • 函数参数:

      1> path:目标文件的路径

      2> mode:文件打开的方式(读、写、读写)
       
    • 返回值:

      1> 成功:返回文件指针 File* (缓冲区首地址)

      2> 失败:返回NULL
       
    • 文件关闭:文件使用完毕,一定要记得释放

           1. 头文件:#include <stdio.h>

           2.函数原型:int fclose(FILE* fp);

           3. 函数功能:关闭文件,释放缓冲区

           4. 函数参数:

                1> fp:已经打开的文件指针
           5. 返回值:

                1> 成功:返回0

                2> 失败:返回EOF(-1)
    • 文件打开与关闭案例
      /**
      * 文件的打开与关闭
      */
      #include <stdio.h>
      int main(int argc,char** argv)
      {
      // 在命令行执行./a.out的时候,传递一个需要打开的目标文件的地址
      if(argc < 2)
      {
      printf("输入有误,请按照<%s 文件路径>格式输入\n",argv[0]);
      return -1;
      }
      // 根据提供的文件路径,打开文件,mode(r,w,rw)
      FILE* fp = fopen(argv[1],"r");
      // 校验文件是否读取成功
      if(!fp)
      {
      perror("文件打开失败!");
      return -1;
      }
      puts("文件打开成功!");
      // 关闭打开的文件
      int ret = fclose(fp);
      // 校验文件是否关闭成功(很多时候这一步会省略掉)
      if(ret == -1)
      {
      perror("文件关闭失败!");
      return -1;
      }
      puts("文件关闭成功!");
      return 0;
      }


网站公告

今日签到

点亮在社区的每一天
去签到