- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 8 章 文 件 文件(file)是程序设计中一个重要的概念。C语言中的文件主要指存放在磁盘上的文件。 磁盘文件操作前要打开,文件处理后要关闭。 文件操作方式主要有:读取文件中的数据到内存和将数据写到文件中,简称为文件的读/写操作。 文件的各种操作都是通过系统函数来完成的,本章主要介绍文件的打开、关闭、读写等函数的使用,同时也介绍了与文件处理有关的其他函数的使用方法。 8.1 文件的概述 文件 文件是由按某个规则集合在一起,保存在外部存储器上的一批数据组成的。 1、如果文件中存放的是数据,称为“数据文件”; 2、如果存放的是源程序清单或者是编译连接后生成的可执行程序,称为“程序文件”。 数据文件 操作系统是以文件为单位对数据进行管理的。在操作系统中,每个文件都通过唯一的“文件标识”—“文件名”来定位。 8.1.1 磁盘文件名 盘符:\ 路径\主文件名.扩展名 例: D:\C\ZHANG\ABC.C C:\ABC.EXE ABC.EXE 8.1.2 文件缓冲区 程序只能处理内存中的数据,不能直接操作文件中的数据。只有把文件中的数据“读入”到内存中,才能操作文件中的数据。同样,修改的是读到内存的数据,还需要将内存中的数据“写回”到磁盘上,才能保证文件中的数据得到修改。 文件缓冲区:英文“buffer” 是文件和程序中存放数据的变量、数组之间交换数据的缓冲区域 缓冲文件系统和非缓冲文件系统。 缓冲文件系统的缓冲区是系统自动设定的,随着一个文件的打开,自动设置一段内存区域作为这个文件的缓冲区。 非缓冲文件系统不会自动设置缓冲区,要求用户在程序中为打开的文件设置缓冲区。 C语言早期规定可以使用两种形式来建立文件缓冲区 .ANSI C决定仅采用缓冲文件系统来处理文件 8.1.3 磁盘文件的打开与关闭 文件的打开将自动创建一个文件缓冲区并与磁盘文件相关联,同时根据读写操作要求从磁盘文件中读取数据到文件缓冲区 文件的关闭会断开这种关联,写操作时还会把文件缓冲区中的数据存回到磁盘文件。 文件的打开和关闭分别是文件操作的开始及最后一步。 例如,一个短整数-1234在二进制文件中只占2个字节;在文本文件中要占5个字节,依次存放表示“-1234”的5个字 节 8.1.5 磁盘文件的读写格式分类 文件读写方式分为“顺序读写”和“随机读写”两种方式。 有时也把按这两种方式处理的文件叫做“顺序文件”和“随机文件”。 8.1.6 设备文件 操作系统把输入/输出设备也看成文件,称为设备文件。 显示器—输出文件 键盘—输入文件 错误信息—输出文件 8.2 文件类型及文件指针 缓冲文件系统中,关键的概念是“文件指针”。 typedef struct { int_fd; // 文件代号 int_cleft; // 文件缓冲区所剩余的字节数 int_mode; // 文件操作模式, char *nextc; // 下一个待处理字节的地址,文件内部指针 char *buff; // 文件缓冲区首地址 } FILE; 类型名“FILE”称为“文件类型” 用"FILE"定义的指针变量通常称为“文件指针” FILE *文件型指针名; 8.3 文件的打开与关闭函数 8.2.1 打开文件函数 FILE *fp; fp=fopen(文件名,使用文件方式); 说明: (1)fp指向参数中的磁盘文件名,即要打开的文件; (2)文件名包括文件路径; (3)使用文件方式为表8.1,8.2列举出的一种。 (4)两个参数对应的实参可以是字符串常量,也可是字符数组首地址,或者是指向字符串的指针变量。 打开文件时,一般要对返回值进行判断,如果返回值为"NULL",则表示文件打开出错,不能使用这个文件,应提示用户并终止程序的运行。 ┆ if((fp=fopen("文件名","文件使用方式"))==NULL) //打开文件用于读写 { cout"file can not open!“endl; //打开文件出错的提示 exit(0); //使用exit(0)中止程序运行
文档评论(0)