C语言程序设计 作者 崔永君 彭静 全书 第11章.pptVIP

C语言程序设计 作者 崔永君 彭静 全书 第11章.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文件概述   文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从不同的角度可对文件作不同的分类:① 按文件所依附的介质来分,有卡片文件、纸带文件、磁带文件、磁盘文件等;② 按文件内容来分,有源文件、目标文件、数据文件等;③ 按文件中数据组织形式来分,有字符文件和二进制文件。   从用户的角度来看,文件可分为普通文件和设备文件两种。 普通文件是指驻留在磁盘或其他外部介质上的一个有序数据集,可以是源文件、目标文件、可执行程序;也可以是一组待输入处理的原始数据,或者是一组输出的结果。对于源文件、目标文件、可执行程序可以称做程序文件,对输入输出数据可称做数据文件。   设备文件是指与主机相连的各种外部设备,如显示器、打印机、键盘等。在操作系统中,把外部设备也看做一个文件来进行管理,把它们的输入、输出等同于对磁盘文件的读和写。   通常把显示器定义为标准输出文件,一般情况下在屏幕上显示有关信息就是向标准输出文件输出数据,如前面经常使用的printf、putchar函数就是这类输出。   canf、g etchar函数就属于这类输入。从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。ASCII码文件也称为文本文件、字符文件或正文文件,它是按字符来存储的,具有可读性。这种文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。   二进制文件是以二进制的方式存储的,不具备可读性,但从存储空间的利用来看,因为它是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放的,所以相对节省了空间。比如一个整数10000,在内存中占2个字节,如果按ASCII码形式输出,则占5个字节,而按二进制形式输出,则在磁盘上只占2个字节。      11.2 文件的打开与关闭   1. 文件类型指针   文件的属性包括文件的名字、文件的性质、文件的当前状态等。ANSI C为每个被使用的文件在内存开辟了一块用于存放上述信息的小区,利用一个结构体类型变量来存放。该变量的结构体类型由系统取名为FILE,在头文件stdio.h中定义如下:   typedef struct   {    int_fd; /*文件号*/    int_cleft; /*缓冲区中的剩余字符*/    int_mode; /*文件的操作模式*/    char*_next; /*下一个字符的位置*/    char *_buff; /*文件缓冲区的位置*/   } FILE;   定义文件指针的一般形式如下:    FILE *fp1,fp2;   按照定义,fp1和fp2均为指向结构体类型的指针变量,分别指向一个可操作的文件,换句话说,一个文件有一个文件变量指针,今后对文件的访问,会转化为针对文件变量指针的操作。   2. 文件的打开   fopen函数用来打开一个文件,其调用的一般形式如下:    FILE *fp;    fp =fopen(文件名, 使用文件方式);   例如:    FILE *fp;    fp=(file a, r); 文件的打开方式见表11.1,其中列出了各种文件的打开方式。   (1) 凡是打开方式字符串中含有字符“r”的,则所打开的文件必须是已存在的文件,对不存在的文件不能打开读。   (2) 凡是打开方式中带有“w”字符的,则所打开的文件可以是已经存在的,也可以是尚不存在的。若不存在,则先要建立一个新文件,然后在里面写内容;若文件已经存在,则会把原文件的内容覆盖掉,写入新的内容。   (3) 凡含有字符“a”的,以追加方式打开的文件也可以不存在,若不存在则建立一个新文件后再追加;若已存在,则在文件的尾部追加。   (4) 以“r+”和“w+”方式打开的文件都是既可用于读,又可用于写的。其差别是,以“w+”方式打开的是一个新文件,应先写入内容,然后可以读。   (5) 在打开文件的操作中有可能出现故障,如当文件所在的磁盘未准备好时,不能把文件打开,这时打开文件函数fopen就返回NULL值。   (6) 有三个和标准输入/输出流对应的设备文件不需用户打开,在执行程序时,系统自动将它们打开。这三个文件是标准输入文件、标准输出文件和标准出错文件,指向它们的文件指针分别是stdin、stdout和stderr。   3. 文件的关闭   在文件处理的最后,缓冲区中可能尚有一些数据,关闭操作首先把这些数据送入磁盘文件,然后再释放文件指针。因此,如果不关闭文件,则留在缓冲区中的数据就会丢失。关闭文件用fclose函数,其格式如下:    fclose(文件指针名)   例如:   ? ?fclose(fp);     11.3 文

文档评论(0)

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

1亿VIP精品文档

相关文档