C语言程序设计孙淑霞罗奕主编C语言程序设计09763第十一章节.pptVIP

C语言程序设计孙淑霞罗奕主编C语言程序设计09763第十一章节.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚辅网 / 孙淑霞 罗奕 主编 第11章 文 件 11.1 文件的基本概念 所谓“文件”是指一组相关数据的有序集合。文件通常是驻留在外部介质(如磁盘等)上的,其中的数据在使用时才调入内存,也可以是负责输入/输出的计算机设备。 文件系统的工作原理如图: 文件可分为普通文件和设备文件两种: 普通文件是指驻留在磁盘或其他外部介质上的一个有序数据集,可以是源文件、目标文件和可执行程序,也可以是一组待处理的原始数据,或者是一组输出的结果。源文件、目标文件、可执行程序称作程序文件,用于输入/输出数据的文件称做数据文件。 设备文件是指与主机相连的各种外部设备,如显示器、键盘、打印机等。 C语言I/O系统在程序和I/O操作的设备之间提供了一个统一、抽象的接口,它与具体的设备无关。这个抽象的I/O接口就叫做“流”。具体实际的I/O对象叫做“文件”。 流可分为两大类:文本流(text stream)和二进制流(binary stream)。 文本流是指流中的数据以字符的ASCII码形式出现。对应的文件称为文本文件,也称为ASCII码文件。 二进制流是指流中的数据是二进制序列。对应的文件称为二进制文件,二进制文件不具有可读性。 11.1.1 缓冲文件系统和非缓冲文件系统 根据输入/输出操作时内存缓冲区是否由计算机系统自动提供,可以分为缓冲文件系统和非缓冲文件系统。缓冲文件系统由系统提供缓冲区,并自动进行维护和管理;非缓冲文件系统由程序员在程序中根据需要对缓冲区进行设定,并维护管理。 1.缓冲文件系统(buffered file system) 缓冲文件系统也称“标准文件系统”或“高级文件系统”。它在设计上支持多种不同设备的操作。 所谓缓冲区是内存中的一段区域,当程序需要从外存中读取文件中的数据时,系统一次性先读取足够多的数据到缓冲区中,然后程序再从缓冲区中读取所需的数据进行处理。当程序需要写数据到外存文件中时,要先把数据写入到缓冲区,当缓冲区中数据装满后,才启动磁盘一次,将缓冲区内容写入到磁盘文件中。 缓冲文件系统中内存“缓冲区”的大小,直接影响系统实际读/写外存设备的次数,内存缓冲区越大,操作外存的次数就越少,执行速度快、效率高。 2.非缓冲文件系统 非缓冲文件系统对文件的操作依赖于操作系统,通过操作系统的功能直接对文件进行读/写,是系统级的输入/输出。它的执行效率高、节省内存。 下面是非缓冲文件系统中几个函数的原型: 打开文件函数原型: int open(char *filename,int access); 关闭文件函数原型: close(int fd); 读文件的函数原型: int read(int fd,void *buf,int count); 写文件的函数原型:int write(int fd, void *buf, int count) 11.1.2 文件指针与文件位置指针 文件指针,它是指向一个结构体类型的指针,该结构体类型名为FILE,其中包含有缓冲区地址、缓冲区中当前存取的字符的位置、对文件的读、写、出错、是否遇到文件结束标志等信息。 文件类型指针变量的一般定义形式为: FILE *指针变量名; 例如: FILE *fp; 表示fp是指向FILE结构的指针变量,通过fp 即可找到存放文件信息的结构数据区域,然后按结构数据中提供的信息对文件进行操作。习惯上,把fp称为文件指针。 11.2 文件的打开与关闭 11.2.1 打开文件的函数fopen() 打开文件的函数原型: FILE *fopen(char *fname,char *mode) 其功能是打开一个fname指定的磁盘文件,函数返回一个指向FILE类型的指针。例如: FILE *fp; fp=fopen(filename,r); ① 调用fopen()函数后,函数返回一个地址值,它指向被打开文件在内存中存放基本信息的FILE结构体数据区域。为了检查打开文件操作是否失败,常用下面方法打开指定文件: if((fp=fopen(test,w))==NULL) { printf(Cannot open file.\n); exit (1); } ② fopen()函数中文件名参数是允许带有路径的,可是绝对路径或相对路径。 11.2.2 文件关闭函数fclose() 当对文件的读/写操作完成后,必须使用fclose()函数关闭已打开的文件。 fclose()函数的调用方式为: fclose(文件指针); 当打开多个文件进行操作,而又要同时关闭时,可采用fcloseall()函数,它将关闭所有在程序中打开的

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档