南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)08 文件

文件版权所有@陈暂保留所有权利陈哲版权所有③陈哲保留所有权利
版权所有© 陈哲保留所有权利 版权所有 © 陈哲 保留所有权利 文件 陈哲

>文件基础>文件结构体类型>打开与关闭文件>顺序读写文件>随机读写文件版权所有@陈哲保留所有权利版权所有陈哲保留所有权利
版权所有© 陈哲保留所有权利 版权所有 © 陈哲 保留所有权利 2 ➢文件基础 ➢文件结构体类型 ➢打开与关闭文件 ➢顺序读写文件 ➢随机读写文件

文件基础>文件中存放的是二进制数据,根据对数据的解释可分为文本文件和二进制文件文本文件中每一个字节中的数据可以被解释为一个字符的ASCII码。文本文件可以用文本编辑器打开,显示为字符串二进制文件中每一个字节中的数据不能被解释版权所有?陈暂保留所有权利为一个字符的ASCII码。如果用文本编辑器打开也就是解释为ASCII码时,显示为不可读、无意义的字符串。3
版 权 所 有 © 陈 哲 保 留 所 有 权 利 文件基础 ➢文件中存放的是二进制数据,根据对数 据的解释可分为文本文件和二进制文件。 ◦文本文件中每一个字节中的数据可以被解释为 一个字符的ASCII码。文本文件可以用文本编辑 器打开,显示为字符串。 ◦二进制文件中每一个字节中的数据不能被解释 为一个字符的ASCII码。如果用文本编辑器打开, 也就是解释为ASCII码时,显示为不可读、无意 义的字符串。 3

>例如:对于整数10000,如果用文本文件形式存储,则在磁盘中占5个中字节(每一个字符占一个字节),而用二进制文件形式存储,则在磁盘中占4个字节(一个整数占4个字节)。文本形式0011000100110000001100000011000000110000权所有@陈暂保留所有权利(0)(1)(0)(0)(0)二进制形式(整数10000)000000000000000000100111000100004
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢例如:对于整数10000, ◦如果用文本文件形式存储,则在磁盘中占5个 字节(每一个字符占一个字节), ◦而用二进制文件形式存储,则在磁盘中占4个 字节(一个整数占4个字节)。 4 00110001 00110000 00110000 00110000 00110000 (1) (0) (0) (0) (0) 文本形式 00000000 00000000 00100111 00010000 二进制形式(整数10000)

>文件名是文件的唯一标识。文件名包括三部分:(1)文件路径表示文件在磁盘中的文件夹位置(2)文件名主干(3)文件名后缀>例如:以下文件名表示file1.dat文件存放在D盘中的cc目录下的temp子目录下。版权所有@陈暂保留所有权利文件名D:/CCltemp(file1Qdat文件路径文件后缀文件名主干5
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢文件名是文件的唯一标识。文件名包括 三部分: (1)文件路径表示文件在磁盘中的文件夹位置 (2)文件名主干 (3)文件名后缀 ➢例如:以下文件名表示file1.dat文件存放 在D盘中的CC目录下的temp子目录下。 D: \CC\temp\file1.dat 5 文件路径 文件名主干 文件后缀 文件名

文件结构体类型>每个被使用的文件都在内存中有一个相应的文件信息区,用来存放文件的有关信息(如文件名、文件状态及当前读写位置等)。>这个文件信息区是一个结构体变量,该结构体变量的类型是FILE,该类型声明包版权所有@陈哲保留所有权利含在头文件stdio.h中。可以定义一个FILE指针类型的变量,然后通过它来间接访问EILE类型的文件信息区6
版 权 所 有 © 陈 哲 保 留 所 有 权 利 文件结构体类型 ➢每个被使用的文件都在内存中有一个相 应的文件信息区,用来存放文件的有关 信息(如文件名、文件状态及当前读写 位置等)。 ➢这个文件信息区是一个结构体变量,该 结构体变量的类型是FILE,该类型声明包 含在头文件stdio.h中。 ➢可以定义一个FILE指针类型的变量,然后 通过它来间接访问FILE类型的文件信息区。 6

>例如:FILE *fp1,*fp2,*fp3;fp2fp3fp1版权所有@陈暂保留所有权利文件2的文件3的文件1的文件信息区文件信息区文件信息区
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢例如: FILE *fp1,*fp2,*fp3; 7 文件1的 文件信息区 fp1 文件2的 文件信息区 fp2 文件3的 文件信息区 fp3

打开与关闭文件>访问文件的步骤是:打开文件:为文件建立相应的文件信息区(用来存放有关文件的信息)和文件缓冲区(用来暂时存放输入输出的数据)。读写文件:以文本形式或者二进制形式读写文件中的数据。关闭文件:销毁文件信息区和文件缓冲区所占版权所有?陈暂保留所有权利用的内存。8
版 权 所 有 © 陈 哲 保 留 所 有 权 利 打开与关闭文件 ➢访问文件的步骤是: ◦打开文件:为文件建立相应的文件信息区(用 来存放有关文件的信息)和文件缓冲区(用来 暂时存放输入输出的数据)。 ◦读写文件:以文本形式或者二进制形式读写文 件中的数据。 ◦关闭文件:销毁文件信息区和文件缓冲区所占 用的内存。 8

>fopen函数用于打开文件,原型为:FILE* fopen(const char* filename, const char* mode)filename是要打开的文件名,。mode是文件访问模式(“读”还是“写”等),返回值是被打开的文件的指针,如果打开失败,返回一个空指针值NULL。>例如:常用如下方法打开一个文件:FILE* fp;if ((fp = fopen("filel","r")) == NULL)1版权所有@陈哲保留所有权利printf("cannot open this fileln");exit(0) ;1表示要打开名为“file1”的文件,文件访问模式为66 999
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢fopen函数用于打开文件,原型为: FILE* fopen(const char* filename, const char* mode) ◦filename是要打开的文件名, ◦ mode是文件访问模式(“读”还是“写”等), ◦返回值是被打开的文件的指针,如果打开失败,返回 一个空指针值NULL。 ➢ 例如:常用如下方法打开一个文件: FILE* fp; if ((fp = fopen("file1", "r")) == NULL) { printf("cannot open this file\n"); exit(0); } 表示要打开名为“file1”的文件,文件访问模式为 “r” 。 9

>文本文件访问模式用“r”方式打开的文件只能用于从该文件读数据(输入),而不能用于向该文件写数据(输出)。打开文件时,该文件应该已存在:如果该文件不存在,打开失败。用“w”方式打开的文件只能用于向该文件写数据(输出),而不能用于从该文件读数据(输入)。如果该文件不存在,则在打开文件版权所有@陈暂保留所有权利前建立一个以指定的名字命名的文件;如果该文件已存在,则在打开文件前将该文件删去,然后重新建立一个文件。10
版 权 所 有 © 陈 哲 保 留 所 有 权 利 ➢文本文件访问模式: ◦用“r”方式打开的文件只能用于从该文件读 数据(输入),而不能用于向该文件写数据 (输出)。打开文件时,该文件应该已存在; 如果该文件不存在,打开失败。 ◦用“w”方式打开的文件只能用于向该文件写 数据(输出),而不能用于从该文件读数据 (输入)。如果该文件不存在,则在打开文件 前建立一个以指定的名字命名的文件;如果该 文件已存在,则在打开文件前将该文件删去, 然后重新建立一个文件。 10
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)07 记录类型.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)06 数组.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)05 函数.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)04 控制流.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)03 运算符和表达式.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)02 常量和变量.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)01 计算机和程序.pptx
- 《程序设计》课程教学资源(实验指导)C++语言习题集(南京航空航天大学:陈哲).pdf
- 《程序设计》课程教学资源(书籍文献)Google开源项目风格指南(中文版).pdf
- 长春大学:旅游学院:《Visual FoxPro程序设计》课程教学资源(授课教案,共七章).pdf
- 《计算机导论》课程教学资源(授课教案,教材讲义,共六章).pdf
- 江苏大学:RISC-V CPU设计实验(讲义).pdf
- 黄河水利职业技术大学:《电商网站建设与优化》课程思政教案(教学设计)PHP动态网站开发.pdf
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第09章 SPI与I2C串行总线.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第08章 USART串行通信.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第07章 模数转换器(ADC).ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第06章 定时器.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第05章 通用输入输出接口GPIO.pptx
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第04章 中断系统.ppt
- 沈阳师范大学:《单片机原理与接口技术应用》课程教学资源(PPT课件)第03章 STM32微控制器的开发平台.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,一)09 编译预处理和多文件项目.pptx
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 1-C++程序设计基础.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 2-文件操作.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 3-类的基础部分.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 4-类的高级部分.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 5-继承多态和虚函数.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 6-异常处理.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 7-模板.ppt
- 南京航空航天大学:《程序设计》课程教学课件(PPT讲稿,二)Chapter 8-标准模板库STL.ppt
- 揭阳职业技术学院:《Linux操作系统》课程教学资源(实验教案,共十八个).pdf
- 揭阳职业技术学院:《计算机应用基础》课程授课教案.pdf
- 揭阳职业技术学院:《物联网》课程授课教案.pdf
- 揭阳职业技术学院:《程序设计基础》课程授课教案.pdf
- 揭阳职业技术学院:《办公自动化》课程授课教案.pdf
- 揭阳职业技术学院:《图像处理》课程授课教案.pdf
- 揭阳职业技术学院:《计算机应用基础》课程授课教案.pdf
- 揭阳职业技术学院:《Photoshop制图》课程授课教案.pdf
- 清华大学:《计算机图形学基础》课程教学大纲 Fundamental of Computer graphics(负责人:胡事民).pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)图形学简介.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)视图模型变换.pdf
