欢迎来到天天文库
浏览记录
ID:50082528
大小:697.00 KB
页数:62页
时间:2020-03-08
《C_C++程序设计教学课件 李云峰 第8章 文件操作.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章文件操作问题原由为了提高数据输入输出的处理效率,可将程序运行时所需的原始数据从文件中读取,并将程序运行的结果写入到文件中。那么,这种文件有哪些特性?怎样打开、读取、关闭文件呢?这就是本章所要讨论的问题。文件的概念、文件的打开与关闭、文件的读写、文件状态的检查等。教学重点能力要求掌握:文件指针的定义和使用文件指针访问文件,文件的不同打开方式,fopen等函数的使用。熟悉:fread等函数的使用。§8.5文件读/写出错的检测§8.4文件的随机读/写操作§8.3文件的顺序读/写操作§8.2文件的打开与关闭§8.1文件操作概述本章介绍
2、的知识内容§8.6算法案例程序设计第8章文件操作§8.1文件操作概述所谓“文件”,实际上就是有关数据的有序集合体。是操作系统存储和管理数据的基本单位,是实现程序与数据分离的有效手段,是提高数据读入的有效措施,是反复使用和永久保存数据的可靠保证。【实例8-1】调试一个排序的程序要输入10个整数,如果程序中存在逻辑错误,就会要不止一次地输入这10个整数。[问题分析]将l0个整数编辑存入到一个文本文件中,然后用C语言编写一个程序,运行该程序就可以在显示器上看到这10个整数,并这10个数据送到测试程序中。8.1.1文件概念的引出8.1.1文
3、件概念的引出【程序实现】#include#defineN10,M4structstudent{charstu_num[15];charstu_name[20];floatscore;}std[N];main(){inti;FILE*fp;printf(“Pleaseinputstudentinformation:”);//输入学生信息:学号、姓名、成绩for(i=0;i4、.score);if((fp=fopen(“student.dat”,”wb+”))==NULL)//建立、打开文件{printf(“Can’topenthisfile!”);exit(0);}//文件读写错误,退出程序for(i=0;i5、ctstudent)*(M-1),0);//读出学生信息fread(&std[M—1],sizeof(structstudent),l,fp);printf(“No.%dstudent’s:”,M);printf(“Num:%s,Name:%s,score:%.2f”,std[M-1].stu_num,std[M-1].stu_name,std[M-1].score);fclose(fp);//关闭文件printf(“dataisread”);}8.1.2文件的基本类型在C语言中,文件的分类方法有多种,不同的划分标准决定6、了不同的文件种类。文件是有关数据的有序集合体,这个集合体的名称就是文件名。1.按文件的逻辑结构分类如果按文件的逻辑结构分类,可分为记录文件和流式文件两种。⑴记录文件:是指具有一定结构的记录。⑵流式文件:是指由一个字符(字节)数据顺序组成的文件。2.按存储介质分类如果按存储介质来分类,可分为普通文件和设备文件两种。8.1.2文件的基本类型3.按文件的读/写方式分类如果按文件的读/写方式来分类,可分为顺序读/写文件和随机读/写文件两种。⑴顺序读写文件:按照从头到尾的顺序依次读/写文件,即先读取文件中的第一条数据,然后读取第二条数据,…,7、直至文件结束。⑵随机读/写文件:通过特定的技术来直接访问文件中的任意数据。8.1.2文件的基本类型4.按数据的组织形式分类如果按文件的组织形式来分类,可分为文本文件和二进制文件两种。⑴文本文件:是以ASCII码字符形式存储的文件。⑵二进制文件:是以二进制的形式存储的文件。文本文件和二进制文件的主要区别在于:①两种文件存储时所占的存储空间不一样。②两种文件需要的读/写时间不一样。③文本文件允许修改和显示。④文本文件常用来保存输入数据及程序最终结果,而二进制文件常用于暂存程序的中间结果,供另一程序读取。8.1.3文件缓冲区与类型指针1.8、文件缓冲区程序文件缓冲区也称缓冲文件系统,它是内存的一部分。图8-1描述利用文件缓冲区在内存与外存之间进行文件读/写的不同过程。程序数据区外存输入数据缓冲区输出数据缓冲区图8-1利用文件缓冲区进行文件读写8.1.3文件缓冲区与类型指针
4、.score);if((fp=fopen(“student.dat”,”wb+”))==NULL)//建立、打开文件{printf(“Can’topenthisfile!”);exit(0);}//文件读写错误,退出程序for(i=0;i5、ctstudent)*(M-1),0);//读出学生信息fread(&std[M—1],sizeof(structstudent),l,fp);printf(“No.%dstudent’s:”,M);printf(“Num:%s,Name:%s,score:%.2f”,std[M-1].stu_num,std[M-1].stu_name,std[M-1].score);fclose(fp);//关闭文件printf(“dataisread”);}8.1.2文件的基本类型在C语言中,文件的分类方法有多种,不同的划分标准决定6、了不同的文件种类。文件是有关数据的有序集合体,这个集合体的名称就是文件名。1.按文件的逻辑结构分类如果按文件的逻辑结构分类,可分为记录文件和流式文件两种。⑴记录文件:是指具有一定结构的记录。⑵流式文件:是指由一个字符(字节)数据顺序组成的文件。2.按存储介质分类如果按存储介质来分类,可分为普通文件和设备文件两种。8.1.2文件的基本类型3.按文件的读/写方式分类如果按文件的读/写方式来分类,可分为顺序读/写文件和随机读/写文件两种。⑴顺序读写文件:按照从头到尾的顺序依次读/写文件,即先读取文件中的第一条数据,然后读取第二条数据,…,7、直至文件结束。⑵随机读/写文件:通过特定的技术来直接访问文件中的任意数据。8.1.2文件的基本类型4.按数据的组织形式分类如果按文件的组织形式来分类,可分为文本文件和二进制文件两种。⑴文本文件:是以ASCII码字符形式存储的文件。⑵二进制文件:是以二进制的形式存储的文件。文本文件和二进制文件的主要区别在于:①两种文件存储时所占的存储空间不一样。②两种文件需要的读/写时间不一样。③文本文件允许修改和显示。④文本文件常用来保存输入数据及程序最终结果,而二进制文件常用于暂存程序的中间结果,供另一程序读取。8.1.3文件缓冲区与类型指针1.8、文件缓冲区程序文件缓冲区也称缓冲文件系统,它是内存的一部分。图8-1描述利用文件缓冲区在内存与外存之间进行文件读/写的不同过程。程序数据区外存输入数据缓冲区输出数据缓冲区图8-1利用文件缓冲区进行文件读写8.1.3文件缓冲区与类型指针
5、ctstudent)*(M-1),0);//读出学生信息fread(&std[M—1],sizeof(structstudent),l,fp);printf(“No.%dstudent’s:”,M);printf(“Num:%s,Name:%s,score:%.2f”,std[M-1].stu_num,std[M-1].stu_name,std[M-1].score);fclose(fp);//关闭文件printf(“dataisread”);}8.1.2文件的基本类型在C语言中,文件的分类方法有多种,不同的划分标准决定
6、了不同的文件种类。文件是有关数据的有序集合体,这个集合体的名称就是文件名。1.按文件的逻辑结构分类如果按文件的逻辑结构分类,可分为记录文件和流式文件两种。⑴记录文件:是指具有一定结构的记录。⑵流式文件:是指由一个字符(字节)数据顺序组成的文件。2.按存储介质分类如果按存储介质来分类,可分为普通文件和设备文件两种。8.1.2文件的基本类型3.按文件的读/写方式分类如果按文件的读/写方式来分类,可分为顺序读/写文件和随机读/写文件两种。⑴顺序读写文件:按照从头到尾的顺序依次读/写文件,即先读取文件中的第一条数据,然后读取第二条数据,…,
7、直至文件结束。⑵随机读/写文件:通过特定的技术来直接访问文件中的任意数据。8.1.2文件的基本类型4.按数据的组织形式分类如果按文件的组织形式来分类,可分为文本文件和二进制文件两种。⑴文本文件:是以ASCII码字符形式存储的文件。⑵二进制文件:是以二进制的形式存储的文件。文本文件和二进制文件的主要区别在于:①两种文件存储时所占的存储空间不一样。②两种文件需要的读/写时间不一样。③文本文件允许修改和显示。④文本文件常用来保存输入数据及程序最终结果,而二进制文件常用于暂存程序的中间结果,供另一程序读取。8.1.3文件缓冲区与类型指针1.
8、文件缓冲区程序文件缓冲区也称缓冲文件系统,它是内存的一部分。图8-1描述利用文件缓冲区在内存与外存之间进行文件读/写的不同过程。程序数据区外存输入数据缓冲区输出数据缓冲区图8-1利用文件缓冲区进行文件读写8.1.3文件缓冲区与类型指针
此文档下载收益归作者所有