C语言程序设计 教学课件 作者 刘明才 第10章 文件.ppt

C语言程序设计 教学课件 作者 刘明才 第10章 文件.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 文件 文件的基本概念 文件的打开与关闭 文件的读写 文件的随机读写 10.1 文件的基本概念 在程序中,当调用输入函数从外部文件中输入数据赋给程序中的变量时,这种操作称为“输入”或“读”;当调用输出函数将程序中变量的值输出到外部文件中时,这种操作称为“输出”或“写”。 C语言将文件看作是字符(字节)的序列,即由一个一个的字符(字节)的数据顺序组成。根据数据的组织形式,可将文件分为文本(Text)文件和二进制文件。文本文件又称ASCII文件,它的每个字节存放一个ASCII代码,代表一个字符。二进制文件是将内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。例如,一个整数10000,在内存中占两个字节,以二进制补码形式存放,这两个字节00010000。如果将整数10000保存在二进制文件中,则存放的就是这两个字节的数据(二进制形式)。 对于文本文件,它将10000看作由5个字符组成的字符序列,分别存放字符1、0、0、0、0的ASCII代码,占5个字节。 由此可见,在文本文件中,一个字节代表一个字符,便于对字符进行处理,阅读方便,比较直观。但一般占存储空间较大,而且在输入/输出时需要花费转换时间。二进制文件一般占较小的存储空间,而且输入/输出时不用转换,但一个字节一般并不对应一个字符,单个字节的数据往往没有意义。 10.2 文件的打开与关闭 文件类型指针 文件的打开 文件的关闭 10.2.1 文件类型指针 当使用一个文件时,系统就为该文件在内存中开辟了一个区域来存放该文件的相关信息,如文件的名字、状态、位置等,这些信息被保存在一个结构体变量中。该结构体类型是由系统定义的,取名为FILE。可以用该结构体类型来定义文件类型的指针变量,例如:FILE *fp; fp是一个指向FILE类型结构体的指针变量。可以使用fp指向某个文件的结构体变量,从而通过该结构体变量中的文件信息能够访问该文件。 10.2.2 文件的打开 文件只有先打开,然后才能使用,使用后应及时关闭,以保证数据的正确存储。打开一个文件要用函数fopen实现。 函数原型:FILE * fopen(char *filename,char *mode); 调用格式:fp=fopen(文件名,使用文件方式); 例如:fp=fopen(a1,r); 它表示要打开文件名为a1的文件,使用文件方式为“读”(r代表read,即读),fopen函数带回指向a1文件的指针并赋给fp,这样fp就指向了a1文件。文件的使用方式,如表所示。 文件的使用方式 10.2.3 文件的关闭 当被打开的文件使用完毕后应将它关闭,以防止它被误用。这里关闭文件指的是使文件指针变量不指向该文件,也就是文件指针变量与文件“脱钩”,此后不能再通过该指针对原来与其相联系的文件进行读写操作。关闭文件使用fclose函数。 函数原型:int fclose(FILE *fp); 调用格式:fclose(文件指针); 例如:fclose(fp); 其中fp是一个调用fopen函数时所返回的文件类型指针。当文件关闭成功时,fclose函数返回值为0,否则返回非零值。 10.3 文件的读写 字符读写函数fgetc和fputc 字符串读写函数fgets和fputs 数据块读写函数fread和fwrite 格式化读写函数fscanf和fprintf 10.3.1 字符读写函数fgetc和fputc 字符输入函数fgetc 函数原型:int fgetc(FILE *fp); 调用格式:字符变量=fgetc(文件指针); 函数功能:从指定的文件中读一个字符,该文件必须是以读或读写方式打开的。函数的返回值为该字符的ASCII码,若读到文件结束符,则函数返回一个文件结束标志EOF(EOF是在stdio.h文件中定义的符号常量,值为-1)。例如:ch=fgetc(fp); 其作用是从fp所指向的文件中读取一个字符并送入ch中。 字符输出函数fputc 函数原型:int fputc(char ch,FILE *fp); 调用格式:fputc(字符,文件指针); 函数功能:将字符写入到fp指向的文件中。写入成功,函数返回该字符的ASCII码,否则,返回EOF。其中,待写入的字符可以是字符常量或变量,例如:fputc(a,fp); 其作用是将字符a写入fp所指向的文件中。 文件结束检测函数feof 函数原型:int feof (FILE *fp); 调用格式:feof(文件指针); 函数功能:判断文件是否处于文件结束位置,如文件结束,则返回值为非0,否则为0。 位置指针复位函数rewind 函数原型:void rewind(FILE *fp); 调用格式:rewind(文件指针); 函数功能:使文件的

您可能关注的文档

文档评论(0)

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

1亿VIP精品文档

相关文档