当前位置:   article > 正文

文件操作C

文件操作C

1、什么是文件

        在程序设计中,我们一般谈的文件有两种:程序文件,数据文件(从文件功能的角度来分类的。)

        1·1程序文件

        包括源程序文件(后缀为.c),目标问价(windows环境后缀为.obj),可执行程序(Windows环境后缀为.exe)。

        1·2数据文件

        文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件。

        后面我们讨论的是数据文件。

        2、文件的打开和关闭

        2·1文件指针

        在缓冲文件系统中,关键的概念是“文件类型指针”,简称“文件指针”。

        2·1·1文件信息区

        每次打开文件/使用文件,都会在内存中开辟一个相应的文件信息区(是一个结构体),用来存放文件的相关信息(比如文件的名称,字体状态及位置等)。这个结构体是由系统声明的,取名为FILE。存放完信息后,就返回这个结构体的起始地址,用指针来接收。这个指针就叫“文件指针”。

        例如:vs2013编译环境提供的stdio.h头文件中有以下的文件类型申明:

  1. struct _iobuf
  2. {
  3. char* _ptr;
  4. int _cnt;
  5. char* _base;
  6. int _flag;
  7. int _file;
  8. int _charbuf;
  9. int _bufsiz;
  10. char* _tmpfname;
  11. };
  12. typedef struct _iobuf FILE;

        不同的编译器的FILE类型包含的内容不完全相同,但是大同小异。

        注意:每当打开一个文件的时候,系统会根据文件的情况自动创建一个FILE结构的变量,并自动填充其中的信息。使用者不用关心细节。

        所以我们一般使用FILE的指针来维护这个FILE结构的变量,这样使用起来更加方便。

         2·1·1创建FILE* 的指针变量

FILE* pf; // 文件指针变量

                pf是一个指向FILE类型数据的指针变量,可以使FILE指向某个文件的文件信息区域。通过该文件信息区中的信息就能够访问该文件。也就是说:通过文件指针变量能够找到与它关联的文件。

        2·2文件的打开和关闭 

        在文件读写之前都应该打开文件,试用结束之后应该关闭文件。

        在编写程序的时候,打开文件的同时,都会返回一个FILE*的指针变量指向该文件,也相当于建立了指针和文件的关系。

        2·2·1 fopen 

        规定使用fopen来打开文件,并返回这个文件(结构体)的地址。

  1. //打开文件
  2. FILE* fopen(const char* filename, const char* mode);

        filename:代表文件名。mode:代表打开方式。(r,w,a,r+,w+,a+.....) 

        注意: fopen打开文件可能会打开失败。如果打开成功就返回该文件(结构体)的地址;打开失败就返回空指针。

        2·2·2 fclose

        使用fclose来关闭文件。        

int fclose(FILE* stream);

        注意:关闭文件后,应该把文件指针置空,防止为野指针。

        2·2·3 打开关闭

  1. FILE* pf = fopen("12.25test.txt", "w");
  2. if (pf =&#
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/380587
推荐阅读
相关标签
  

闽ICP备14008679号