中国高校课件下载中心 》 教学资源 》 大学文库

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

文档信息
资源类别:文库
文档格式:PPTX
文档页数:41
文件大小:123.19KB
团购合买:点击进入团购
内容简介
南京航空航天大学:《程序设计》课程教学课件(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

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档