文件的打开与关闭
- C语言中不能直接操作文件
只能采用库函数间接对文件进行操作
- C语言操作文件的基本流程为
在使用文件前要调用打开函数将文件打开
- 打开文件会得到一个文件指针fp
- 调用各种有关函数,利用fp对文件进行具体处理(读或写)
- 在文件用完时,及时调用关闭函数来关闭文件
- C语言中所有的文件操作都围绕文件指针完成
文章是更具此视频写的
文件指针
- 定义文件指针的一般形式为:
FILE * 指针变量标识符
- FILE为大写,需要包含stdio.h
- FILE是系统使用typedef定义出来的有关文件信息的一种结构体类型
- FILE结构体中包含有文件名、文件状态和文件当前位置等信息
- 一般情况下,我们操作文件前必须定义一个文件指针<span style="color:#FFFF00">指向我们将要操作的文件</span>
- 实际编程中使用库函数操作文件,无需关心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类型的区域,存放与操作文件相关的信息
C语言中有三个特殊的文件指针无需定义、打开可直接使用:
一、stdin:标准输入 默认为当前终端(键盘)
我们使用scanf、getchar函数默认从此终端获得数据
二、stdout:标准输出 默认为当前终端(屏幕)
我们使用的printf、puts函数默认输出信息到次终端
三、stderr:标准出错 默认为当前终端(屏幕)
当我们程序出错或者使用:perror函数时信息打印在次终端