《C语言程序设计》第9章文件操作.ppt

上传人:max****ui 文档编号:10979530 上传时间:2020-04-16 格式:PPT 页数:20 大小:212KB
返回 下载 相关 举报
《C语言程序设计》第9章文件操作.ppt_第1页
第1页 / 共20页
《C语言程序设计》第9章文件操作.ppt_第2页
第2页 / 共20页
《C语言程序设计》第9章文件操作.ppt_第3页
第3页 / 共20页
点击查看更多>>
资源描述
第9章文件操作 本章要求 掌握C语言中文件的概念 理解以不同方式打开文件的含义 掌握文件的各种操作函数 能正确对文件进行读写数据操作 本章难点 掌握文件的各种操作函数 能正确对文件进行读写数据操作 本章重点 掌握文件的各种操作函数 能正确对文件进行读写数据操作 9 1文件系统的概念 9 1 1C文件概述所谓 文件 一般指存储在外部介质上数据的集合 C语言把文件看作一个字节序列 即由一连串的字节组成 称为 流 stream 以字节为单位访问 没有记录的界限 输入输出字符流的开始和结束只由程序控制而不受物理符号 如回车符 的控制 因此也把这种文件称作 流式文件 按文件中数据的组织形式来分 文本文件每一个字节存放一个ASCII码 代表一个字符 由文本行组成 并以换行符 n 结尾 有文件结束标志 二进制文件把数据按其在内存中的存储形式原样存放在磁盘上 一个字节并不对应一个字符 例 整数1234内存存储形式 二进制形式 ASCII形式 特点 存储量大 速度慢 便于对字符操作 特点 存储量小 速度快 便于存放中间结果 9 1 2缓冲文件系统 C语言使用的文件系统分为缓冲文件系统 标准I O 和非缓冲文件系统 系统I O ANSIC标准不再采用非缓冲文件系统 本章主要介绍缓冲文件系统中文件的操作 9 2文件的打开与关闭 文件操作的过程 对磁盘文件的操作必须 先打开 后读写 最后关闭 9 2 1文件类型指针在操作文件时 C语言利用一个结构体类型的变量存放文件的信息 该变量的结构体类型由系统取名为FILE 用一个指针变量指向指向存放该文件信息的结构体类型变量 这个指针称为文件指针 定义形式 FILE 指针变量标识符 对文件操作需要 include 9 2 2文件的打开 一般形式为 文件指针名 fopen 文件名 使用文件方式 其中 文件指针名 是指向FILE类型的指针变量 文件名 是被打开文件的文件名 可以是字符串常量或字符数组 使用文件方式 是指文件的类型和操作要求 例如 FILE fp fp fopen c tc source dat r 注意反斜杠的表示方法 见下表 说明 打开方式带上 b 表示是对二进制文件进行操作 带上 表示既可以读 又可以写 而对待文件存在与否的不同处理则按照 r w a 各自的规定 若打开失败 fopen都返回一个空指针NULL 文件打开可能出现的错误有 试图以 读 方式 带 r 的方式 打开一个并不存在的文件 新建文件 而磁盘上没有足够的剩余空间或磁盘被写保护 试图以 写 方式 打开 只读 文件 带 w 或 a 或 r 或 rb 方式 FILE fp fp fopen c tc source dat r 此处开始对文件读 若打开失败 fp指针变量里面是空指针NULL 对空指针的读写操作会出错 为避免因上述原因的出错 常用以下的方法来打开一个文件 if fp fopen c myfile dat w NULL printf Thisfilecouldnotbeopened n else 此处编写对文件读 写的代码 9 2 3文件的关闭 fclose函数 文件使用完后 为确保文件中的数据不丢失 都要使用文件的关闭函数fclose进行关闭 其调用形式 fclose 文件指针变量 功能 关闭一个由fopen 函数打开的文件 例如 fclose fp 前面例子中 把fopen函数返回的指针赋值给fp 现在用fclose函数使文件指针fp与文件脱离 同时刷新文件输入 输出缓冲区 9 3文件的读写 打开文件后都会返回该文件一个文件类型指针 fp 程序中就是通过这个指针执行对文件的读和写 在 语言中提供了多种文件读写的函数 字符读写函数 fgetc和fputc字符串读写函数 fgets和fputs数据块读写函数 fread和fwrite格式化读写函数 fscanf和fprinf上面的文件读写函数均是指顺序读写 即读写了一条信息后 文件读写位置指针自动指向下一个读写单元 r 方式 w 方式 a 方式 内容 注意区别文件指针 读文件时注意不要超过文件末尾 对于文本文件 由于它的结束标记是EOF 即 1 因此可通过读取的字符是不是结束标志来判断 对于二进制文件 由于没有EOF的结束标志 使用系统提供的feof 函数来判断feof 的使用格式是 feof fp 其中 fp是文件指针变量 如果文件读取结束则返回非0值 没结束返回0 while feof fp 此处写入读操作语句 文本文件也可使用feof 函数按上面来的形式来判断是否读取结束 9 3 2字符读写函数 1 字符读函数fgetc 功能是从指定的文件中读一个字符 函数调用的一般形式为 字符变量 fgetc 文件指针 例如 ch fgetc fp FILE fp charch fp fopen 9 1 txt r while feof fp ch fgetc fp putchar ch 例 显示指定文件中的内容 2 字符写函数fputc 将一个字符写入到文件中 调用的一般格式如下 fputc ch fp fputc函数也有返回值 若写操作成功 则返回一个向文件所写字符的值 否则返回EOF 表示写操作失败 fp fopen 9 1 txt w fputc A fp fp fopen 9 1 txt a fputc A fp 在e盘新建文件abc txt 在其中写入26个大写字母 每行10个字母 例 while ch fgetc fp1 EOF 9 3 3字符串读写函数 1 字符串读函数fgets fgets 字符数组名 n 文件指针 其功能是 从指定的文件中读一个字符串到字符数组中 从文件中读出的字符串不超过n 1个字符 在读入的最后一个字符后加上串结束标志 0 注意 fgets函数从文件中读取字符直到遇见回车符或EOF为止 或直到读入了所限定的字符数 至多n 1个字符 为止 例如 fgets str n fp 函数读成功返回str指针 失败返回一个空指针NULL 2 字符串写函数fputs fputs 字符串 文件指针 将指定的字符串写到文件中 如 fputs China fp 函数返回0时 表明操作成功 返回非0时 表明写操作失败 9 3 4格式读写函数 1 格式化读函数fscanf fscanf 文件指针 格式字符串 输入列表 2 格式化写函数fprintf fprintf 文件指针 格式化字符串 输出列表 对比scanf 函数和printf 函数 从键盘输入 scanf d 在屏幕上打印 printf d a 在文件中写入 fprintf fp d a s1 txt文件中存放着一些学生分数 统计及格人数 并把结果写入s2 txt文件 9 3 5数据块读写函数 1 写数据块函数fwrite fwrite buffer size count fp 如 intxa 10 1 2 3 4 5 6 7 8 9 10 将数组整体写入文件中的语句 fwrite xa 20 1 fp 2 读取数据块函数fread fread buffer size count fp 如 floata 5 fread a 4 5 fp 从文件中每次读4个字节 一个实数 送入实数组a中 连续读5次
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!