C语言程序设计案例教程-(10)课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言程序设计案例教程-(10)课件.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 案例 教程 10 课件
- 资源描述:
-
1、第10章 文件作业点评 请简述一下结构体和共用体的异同。 请分析一下结构体数组与链表的区别。预习检查 什么是文件 怎么打开和关闭文件3文件概述重点了解掌握2文件的随机读写文件的打开与关闭文件的读写1学习目标【案例1】-案例描述 新学年伊始,许多大一新生来校报道,为了方便对学生信息的统一管理,校方需要将学生的相关信息制作成学生信息表,存储到磁盘中。学生信息表中包含学号、姓名、年龄、性别四项信息,编程实现学生信息表的文本形式存储和二进制形式存储,并将生成的文件存储到D盘的Stu文件夹中。【案例1】-案例分析 本案例中学生信息的存储不借助既定的表格(如excel),而是将学生信息直接存储到文本文件或
2、二进制文件中。在进行存储之前,应先有文件,因为要存储到两种形式的文件中,所以分别创建两个文件。在存储学生信息时,可以以每位学生的每一项信息为单位进行存储,也可以构造学生信息结构体,以每位学生的所有信息为单位进行存储。 在实现学生信息存储之前,需要先了解一下计算机中文件及文件存储的相关知识,以及针对计算机文件的相关操作,下面将针对所需知识逐一讲解。【案例1】-必备知识1计算机中的流文件23文件的缓冲区文件指针45文件的打开与关闭写文件6 计算机计算机中的流中的流 在C语言中将通过不同输入/输出设备(键盘、内存、显示器、网络等)之间的数据传输抽象表述为“流流”。源 输 入 流程序 输出流程序目标【
3、案例1】-必备知识什么是文件?什么是文件?【案例1】-必备知识【案例1】-必备知识 文件文件所谓“文件”一般指存储在外部介质上数据的集合。操作系统是以文件为单位对数据进行管理的,也就是说,如果想找存放在外部介质上的数据,必须先按文件名找到指定的文件,然后从文件中读取数据。 一个文件要有唯一的文件标识,以便用户识别和引用。文件标识包括3部分,分别为文件路径文件路径、文件名主干文件名主干和文件后缀文件后缀。 文件文件【案例1】-必备知识 根据数据的组织形式,数据文件可分为文本文件和二进制文件。 文件文件【案例1】-必备知识1、二进制文件、二进制文件数据在内存中是以二进制形式存储的,如果不加转换地输
4、出到外存,就是二进制文件。 2、文本文件、文本文件文本文件又称为ASCII文件,每一个字节放一个字符的ASCII码。 文件文件的缓冲区的缓冲区 ANSI C标准采用“缓冲文件系统”处理文件。缓冲文件系统的特点是在内存开辟一个“缓冲区”,为程序的每一个文件使用。 当程序执行读文件操作时,先将一批文件内容读到缓冲区中,然后再将内容从缓冲区逐个读到程序中。当程序执行写文件操作时,先将数据写入到缓冲区中,待缓冲区装满后再将数据从缓冲区一起写入到磁盘文件中。【案例1】-必备知识 文件文件指针指针 在C语言中,对文件的所有操作都必须依靠文件指针来完成。文件指针的定义格式如下所示: FILE * 变量名;
5、例 FILE * fp;【案例1】-必备知识一个文件指针变量只能指向一个文件。 文件的打开与关闭文件的打开与关闭操作文件之前首先要打开文件,不打开文件就不能对其进行读写。C语言提供了fopen()函数,该函数用于打开文件,其返回值类型为文件指针。fopen()函数的函数声明如下:FILE * fopen(char* filename, char* mode);【案例1】-必备知识打开文件并对文件操作结束后要关闭文件。关闭是释放缓冲区和其他资源的过程,不关闭文件就会慢慢耗光系统资源。C语言提供了一个fclose()函数,该函数用于关闭文件,其返回值类型为int类型。fclose()函数的函数声明
6、如下: int fclose(FILE * fp);【案例1】-必备知识 文件的打开与关闭文件的打开与关闭用fopen()函数打开文件,需要确定文件的打开模式。文件常用的打开模式如下表所示。【案例1】-必备知识 文件的打开与关闭文件的打开与关闭打开模式打开模式名称名称描述描述r/rb只读模式以只读的形式打开一个文本文件/二进制文件,如果文件不存在或无法找到,fopen()函数调用失败,返回NULLw/wb只写模式以只写的形式创建一个文本文件/二进制文件,如果文件已存在,重写文件a/ab追加模式以只写的形式打开一个文本文件/二进制文件,只允许在该文件末尾追加数据,如果文件不存在,则创建新文件r+
7、/rb+读取/更新模式以读/写的形式打开一个文本文件/二进制文件,如果文件不存在,fopen()函数调用失败,返回NULL w+/wb+写入/更新模式以读/写的形式创建一个文本文件/二进制文件,如果文件已存在,则重写文件a+ab+追加/更新模式打开一个文本/二进制文件,允许进行读取操作,但只允许在文件末尾添加数据,若文件不存在,则创建新文件(1)、写文本文件、写文本文件fputc()函数用于向文件中写入一个字符,其语法格式如下: 写文件写文件int fputc(char ch, FILE * fp);【案例1】-必备知识ch表示写入的内容,fp表示一个文件指针,int表示函数返回值的类型为整数
8、类型。 写文件写文件(1)、写文本文件、写文本文件fputs()函数将字符串写入文件,其函数声明如下:int fputs(const char * str, FILE * file);【案例1】-必备知识参数str表示指向待写入的字符串的字符指针;参数file表示文件指针,该指针指向需要写入字符串的文件;返回值类型int类型表示函数返回值的类型为整型。 写文件写文件(2)、写二进制文件、写二进制文件fwrite()函数用于以二进制的形式将数据写入文件,其函数声明如下:unsigned int fwrite(const void * str, unsigned int size,unsigned
9、 int count, FILE * file);【案例1】-必备知识参数str为指向待写入数据的指针;size为待写入数据的字节数;count为待写入size个字节的数据的个数;file为文件指针,该指针指向需要写入字符的文件;返回值类型unsigned int型表示函数返回值的类型为无符号整型。 写写文件文件(2)、写二进制文件、写二进制文件fprintf()函数用于格式化输出数据到文件,其函数声明如下:int fprintf(FILE * file, const char * format, .);【案例1】-必备知识参数file表示文件指针,该指针指向需要写入字符串的文件;参数form
10、at表示以什么样的字符串格式输出到文件中;返回值类型int型表示函数返回值的类型为整型。【案例1】-案例实现案例案例代码(详见教材代码实现)代码(详见教材代码实现)案例设计123打开一个文本文件;45调用fputs()函数、fputc()函数和fwrite()函数写入数据;调用fclose()函数关闭文件;打开一个二进制文件;调用fputs()函数、fputc()函数和fprintf()函数向其中写入数据;6调用fclose()函数关闭文件;【案例2】-案例描述 信息的存储是为了方便对信息的重复使用。一般对信息的操作包含增加、删除、修改和查询这四项,这四项操作都基于已存在的文件。本案例的目标是
11、实现学生信息的读取,要求从案例1生成的文件中,读取学生信息,输出到屏幕上。【案例2】-案例分析 本案例的实现基于案例1中已存在的文件,通过案例1的学习可知,在对文件进行操作之前需要先打开文件,之后才能逐一读取文件中的内容。案例1中生成了两个文件,一个为文本文件,一个为二进制文件,因为其存放形式不同,所以在打开时需要使用不同的打开模式。【案例2】-必备知识1读文件文件位置指针2(1)、读文本文件)、读文本文件fgetc()函数用于读取文件的字符,其语法格式如下: 读文件读文件char fgetc(FILE * fp);【案例2】-必备知识参数fp表示一个文件指针变量,char表示函数返回值的类型
展开阅读全文