Loading... ## 文件的打开与关闭 * C语言中不能直接操作文件 <div class="tip inlineBlock info"> 只能采用库函数间接对文件进行操作 </div> * C语言操作文件的基本流程为 <div class="tip inlineBlock success"> 在使用文件前要调用**打开函数**将文件打开 </div> * 打开文件会得到一个文件指针fp <div class="tip inlineBlock success"> 1. 调用各种有关函数,利用fp对文件进行具体处理(读或写) 2. 在文件用完时,及时调用**关闭函数**来关闭文件 3. C语言中所有的文件操作都围绕文件指针完成 </div> <iframe class="iframe_video" src="//player.bilibili.com/player.html?aid=372528286&bvid=BV1XZ4y1G7No&cid=249274766&page=64" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe> > 文章是更具此视频写的 ## 文件指针 ![](https://blog.fivk.cn/usr/uploads/2021/02/1863120660.jpg) * 定义文件指针的一般形式为: FILE * 指针变量标识符 1. FILE为大写,需要包含stdio.h 2. FILE是系统使用typedef定义出来的有关文件信息的一种结构体类型 3. FILE结构体中包含有文件名、文件状态和文件当前位置等信息 4. 一般情况下,我们操作文件前必须定义一个文件指针<span style="color:#FFFF00">指向我们将要操作的文件</span> * 实际编程中使用库函数操作文件,无需关心FILE结构体的细节(成员) * FILE在stdio.h文件中的文件类型声明(了解一下,不用记): ```C typedef struct { short level; //缓存区"满"或"空"的程度 unsigned flags; //文件状态标志 char fd; //文件描述符 unsigned charhold; //如无缓存区不读取字符 short bsize; //缓存区的大小 unsigned char* buffer; //缓存区的位置 unsigned ar*curp; //指针,当前的指向 unsigned istemp; //临时文件,指示器 shorttoken; //用于有效性检查 }FILE; ``` <div class="tip inlineBlock warning"> </div>注意:不要关心FILE的细节 只需要 会用FILE 定义指针变量就行:FILE *p = NULL/scode] > 在缓冲区文件系统中,每个被使用的文件都要在内存中开辟一块FILE类型的区域,存放与操作文件相关的信息 --- ###### C语言中有三个特殊的文件指针无需定义、打开可直接使用: 一、stdin:标准输入 默认为当前终端(键盘) 我们使用scanf、getchar函数默认从此终端获得数据 二、stdout:标准输出 默认为当前终端(屏幕) 我们使用的printf、puts函数默认输出信息到次终端 三、stderr:标准出错 默认为当前终端(屏幕) 当我们程序出错或者使用:perror函数时信息打印在次终端 --- 最后修改:2021 年 02 月 13 日 © 禁止转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏