- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计教程第11章整理ppt
二、数据文件的存储形式 数据文件用于保存数据,其读写往往由应用程序实现。 1 、字符文件:也称文本文件或正文文件,其数据以字符的形式出现,每个字符用一个 ASCII 代码(占一个字节)表示。 2 、二进制文件:以数据在内存中的形式原样存于磁盘。 在Turbo C中,二进制文件中,整型数用2个字节表示,长整型用4个字节表示,实型数(浮点数)用4个字节,双精度数用8个字节表示。 比较: 字符文件的每1个字节存储1个字符,因而便于对字符进行逐个处理。但一般占用存储空间较多,而且要花费转换时间(二进制与ASCII码之间的转换)。 二进制文件是把内存中的数据,原样输出到磁盘文件中。可以节省存储空间和转换时间,但1个字节并不对应1个字符,不能直接输出字符形式。 例1、函数fgetc和fputc的使用 if(fp1==NULL) { printf(can not open this file\n); exit(0); } printf(please input file2s name:); scanf(%s,file2); fp2=fopen(file2,w); if(fp2==NULL) { printf(can not open this file\n); exit(0); } ch=fgetc(fp1); while(ch!=EOF) { fputc(ch,fp2); ch=fgetc(fp1); } fclose(fp1); fclose(fp2); } 读/写函数的选用原则: 从功能角度来说,fread()和fwrite()函数可以完成文件的任何数据读/写操作。 但为方便起见,依下列原则选用: 1)读/写1个字符(或字节)数据时:选用fgetc()和fputc()函数。 2)读/写1个字符串时:选用fgets()和fputs()函数。 3)整体读/写结构体或数组时:选用fread()和fwrite()函数。 4)读/写1个(或多个)含格式的数据时:选用fscanf()和fprintf()函数。 C语言程序设计教程 * 第11章 文件 11.1 文件概述 11.2 标准文件操作 第十一章 文件 在程序运行时,程序本身和数据一般都存放在内存中。当程序运行结束后,存放在内存中的数据被释放。 如果需要长期保存程序运行所需的原始数据,或程序运行产生的结果,就必须以文件形式存储到外部存储介质上。 一、文件与文件名 文件是指存放在外部存储介质上的数据集合。 为标识一个文件,每个文件都必须有一个文件名,其一般结构为:主文件名[.扩展名] 文件命名规则,遵循操作系统的约定。 11.1 文件概述 例:十进制整数10000,在内存中占两字节,其存放形式是:0010,0111,0001,0000。在二进制文件中也按这中方式存放,占2个字节。在ASCII文件中,存放为31H、30H、30H、30H、30H,占5个字节,它们分别是1、0、0、0、0、0字母的ASCII码。 三、标准文件与非标准文件 1、标准文件系统:利用缓冲区将对磁盘文件进行操作的文件系统称为缓冲(或高层)文件系统,用户使用方便。 从内存向磁盘输出数据时,必须首先输出到缓冲区中。待缓冲区装满后,再一起输出到磁盘文件中。 从磁盘文件向内存读入数据时,则正好相反:首先将一批数据读入到缓冲区中,再从缓冲区中将数据逐个送到程序数据区。 2、非标准文件系统:不使用缓冲区的磁盘文件系统称为非缓冲(或低层)文件系统。编程难度较大,但程序的执行效率高,占用内存资源较少。 在C语言中,无论是使用标准文件系统还是非标准文件系统,都是利用I/O库函数完成文件操作的。 程序数据区 输出文件缓冲区 输出 输入 输入文件缓冲区 输出 输入 磁盘 内存 要调用一个文件,需要有以下的信息:★文件当前的读写位置 ★与该文件对应的内存缓冲区的地址 ★文件操作方式等 1、每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息。这些信息是保存在一个结构体类型的变量中。该结构体类型是由系统定义的,取名为FILE。 2、标准文件系统借助FILE数据结构对文件进行管理,利用文件指针读写文件。每当程序成功打开一个文件,系统就在内存建立一个与该文件对应的FILE结构体变量,并返回该变量的指针(地址)。 11.2 标准文件操作 一、标准文件FILE结
文档评论(0)