文件的打开与关闭

  • C语言中不能直接操作文件

只能采用库函数间接对文件进行操作

  • C语言操作文件的基本流程为

在使用文件前要调用打开函数将文件打开

  • 打开文件会得到一个文件指针fp

  1. 调用各种有关函数,利用fp对文件进行具体处理(读或写)
  2. 在文件用完时,及时调用关闭函数来关闭文件
  3. C语言中所有的文件操作都围绕文件指针完成

文章是更具此视频写的

文件指针

  • 定义文件指针的一般形式为:

FILE * 指针变量标识符

  1. FILE为大写,需要包含stdio.h
  2. FILE是系统使用typedef定义出来的有关文件信息的一种结构体类型
  3. FILE结构体中包含有文件名、文件状态和文件当前位置等信息
  4. 一般情况下,我们操作文件前必须定义一个文件指针指向我们将要操作的文件
  • 实际编程中使用库函数操作文件,无需关心FILE结构体的细节(成员)
  • FILE在stdio.h文件中的文件类型声明(了解一下,不用记):
typedef struct {
    short level;               //缓存区"满"或"空"的程度
    unsigned flags;            //文件状态标志
    char fd;                   //文件描述符
    unsigned charhold;         //如无缓存区不读取字符
    short bsize;               //缓存区的大小
    unsigned char* buffer;     //缓存区的位置
    unsigned ar*curp;          //指针,当前的指向
    unsigned istemp;           //临时文件,指示器
    shorttoken;                //用于有效性检查

}FILE;

注意:不要关心FILE的细节 只需要 会用FILE 定义指针变量就行:FILE *p = NULL/scode]

在缓冲区文件系统中,每个被使用的文件都要在内存中开辟一块FILE类型的区域,存放与操作文件相关的信息

C语言中有三个特殊的文件指针无需定义、打开可直接使用:

一、stdin:标准输入 默认为当前终端(键盘)

我们使用scanf、getchar函数默认从此终端获得数据

二、stdout:标准输出 默认为当前终端(屏幕)

我们使用的printf、puts函数默认输出信息到次终端

三、stderr:标准出错 默认为当前终端(屏幕)

当我们程序出错或者使用:perror函数时信息打印在次终端


最后修改:2021 年 02 月 13 日
如果觉得我的文章对你有用,请随意赞赏