欢迎来到天天文库
浏览记录
ID:36678062
大小:346.60 KB
页数:22页
时间:2019-05-10
《《保存程序数据》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章保存程序数据主要内容案例:将“学生信息管理系统”的学生信息进行永久保存使用文件保存学生信息案例实施学生练习拓展小结在本章,将继续完善“学生信息管理系统”案例程序。本章可以实现对学生完整信息的长期保存,能将学生的基本信息保存在磁盘上。当需要的时候可以从磁盘上读出数据,当数据被修改的时候,能重新写回磁盘,保证磁盘上的数据和内存数据一致。具体包括:(1)将学生的完整信息保存在磁盘的指定位置;(2)在程序运行的时候可以加载指定文件中的学生信息;案例:保存学生信息它一般指存储在外部介质上数据的集合。操作系统是以文件为单位对数据进行管理的。根据文件的组织形式,C语言将文件
2、分为文本文件和二进制文件两种。按文本文件存放数据时,每个字符占一个字节,并且按其ASCII码存储到文件中,所以文本文件也称为ASCII文件。它的每个字节放一个ASCII代码,代表一个字符。按二进制文件存放数据,其存放形式与数据在内存中的存储形式相同,也就是说数据是按其在内存中的存储形式原样输出到磁盘上存放。所以不需要转换,从而可以提高效率而且也能节省存储空间。在C语言中,对文件的读写都是通过库函数实现的。使用文件保存学生信息-文件概念文件的处理必须包括:打开文件读或写文件、关闭文件使用文件保存学生信息-文件操作磁盘文件内存储器数据存储区………………磁盘文件内存储器…
3、……………数据存储区磁盘文件内存储器数据存储区………………磁盘文件内存储器数据存储区………………标准输入输出函数,用fopen()函数来实现打开文件。fopen函数的调用方式通常是:FILE*fs;fs=fopen("文件名","打开模式");其中fs是一个文件指针,文件指针是FILE类型,FILE类型已由系统声明,可直接使用。通过文件指针,可以对它所指向的文件进行各种操作。fopen是一个系统函数,有两个参数,其中文件名包括文件所在的全部路径,路径的分隔符''应采用转义字符的形式。文件可以是文本文件,也可以是二进制文件。打开模式是指定所要打开的文件读写方式,打开
4、模式要用小写,并且要用双引号括起来使用文件保存学生信息-打开文件使用文件保存学生信息-打开文件Mode(方式)意义"r"(只读)打开一个文本文件,只允许读数据"w"(只写)创建一个文本文件,只允许写数据"a"(追加)打开一个文本文件,并在文件的末尾增加数据"rb"(只读)打开一个二进制文件,只允许读数据"wb"(只写)创建一个二进制文件,只允许写数据"ab"(追加)打开一个二进制文件,并在文件的末尾增加数据"r+"(读写)打开一个文本文件,允许读和写"w+"(读写)建立一个文本文件,允许读和写"a+"(读写)打开一个文本文件,允许读或在文件末尾追加数据"rb+"(读
5、写)打开一个二进制文件,允许读和写"wb+"(读写)建立一个二进制文件,允许读和写"ab+"(读写)打开一个二进制文件,允许读或在文件末尾追加数据如果不能实现“打开”文件的任务,fopen函数将会带回一个出错信息,出错的原因可能是用“r”方式打开一个并不存在的文件;磁盘出故障;磁盘已经满了,无法建立一个新文件等。此时fopen函数将带回一个空指针值NULL。常常用下面的方法打开一个文件:if((fs=fopen("file1","r"))==NULL){printf("cannotopenthisfile");exit(0);}使用文件保存学生信息-打开文件fr
6、ead函数和fwrite函数,一般调用形式为:fread(buffer,size,count,fs);fwrite(buffer,size,count,fs);其中:buffer是一个指针,对fread来说,它是读入数据的存放地址,对fwrite来说,它是要输出数据的地址,都是指起始地址。size要读写的字节数。count要进行读写多少个size字节的数据项。fs文件类型的指针。使用文件保存学生信息-读写文件Student*stu;stu=(Student*)malloc(total*sizeof(Student));假设学生的数据已经存放在磁盘文件中,并且存放了c
7、urrent个学生的信息,这时可以用下面的for语句和fread函数读入current个学生的数据:for(i=0;i
此文档下载收益归作者所有