网站大量收购闲置独家精品文档,联系QQ:2885784924

C语言11文件教程.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言11文件教程

第十一章 文件 ;11.1 文件的基本概念 ;3. C文件系统;11.2 文件的类别 ;11.3文件指针 ;定义文件指针的一般形式为: FILE *指针变量标识符; FILE *fp; 表示fp是指向FILE结构体的指针变量,通过fp即可找存放某个文件信息的结构体变量,然后按结构体变量提供的信息找到该文件,实施对文件的操作。 对FILE须有下面几点了解: FILE是系统定义的一个结构体类型 在编写源程序时用户不必关心FILE结构的细节。如当一个文件被打开时,C编译程序自动建立该文件FILE结构,不需要用户自己定义。 定义多个文件指针可用:FILE *fp1,*fp2 如果要同时对多个文件进行操作,一般应设多个指针变量,使他们指向对应的文件,以实现对文件的访问。 凡使用FILE型文件,必须在程序开头嵌入stdio.h头部文件。 ;11.4文件操作概述 ;调用格式: FILE *fp; fp=fopen(“filename”,”mode”); 其中, fp为指向FILE 类型的指针, filename表示要打开的文件名, mode表示使用该文件的模式, 有读(“r ”)、写(“w ”)、 添加(“a ”)三种模式。 如果打开成功,fopen( )函数返回一个指向 FILE类型的文件指针,该指针赋于fp 后,fp 指向被打开的文件。 fp作为被打开文件的特殊标识符,在程序中,对文件的访问通过fp 实现。;mode的选择项: r选择项——从已存在的文件中读信息,如果文件不存在, 或不允许读,函数返回一个NULL 指针; w选择项——建立一个新文件或向已存在的文件写入信息,该文件原有的内容将被覆盖。 a选择项——向已存在的文件中增添内容,从文件结尾处开始写入。如果文件不存在,就建立一个新文件。 当同时需要读写一个文件时,可以使用r+、w+、a+ 三个选择项扩充前面三个选择项的功能。 文件的处理通常按文本方式(“t”),若需按二进制方式处理,使用附加域名(“b”) 字符。例如: rb——打开一个二进制文件只 读 wb——打开一个二进制文件只 写 ab——打开一个二进制文件添加;例如:以读方式打开一个文件的语句如下。 FILE *fp; char myfile[20]; printf(”Enter the file name:”); scanf(”%s”,myfile); if((fp=fopen(myfile,”r”))==NULL) { printf(”Can not open%s.\n”,myfile); exit( ); } 如果文件不存在,或不允许读该文件,返回NULL指针,函数终止程序的执行。;11.5.2 文件的关闭(fclose函数) ;11.5.3 文件的读/写 ;例11.1 读并显示文本文件readme.txt的内容 #include stdio.h main() { FILE *fp; char ch,*filename=“readme.txt”; if((fp=fopen(filename,”r))==NULL) { printf(error:cannot open file\n); exit(0); } while((ch=fgetc(fp))!=EOF) putchar(ch); fclose(fp); } ;【说明】 每写入一个字符,文件内部位置指针向后移动一个字节。 被写入的文件可以用写、读/写、追加方式打开,用写或读/写方式打开一个已存在的文件时将清除原有的文件内容,写入字符从文件首开始。如需保留原有文件内容,希望写入的字符以文件末开始存放,必须以追加方式打开文件。被写入的文件若不存在,则创建该文件。 (3) 文件结束标志测定函数feof 形式:feof(文件指针) 功能:判断文件是否结束 返值:文件结束,返回真(非0);文件未结束,返回0 . 例:判断二进制文件是否结束 while(!feof(fp)) { c=fgetc(fp); …….. } 对于文本文件,因系统设定了用EOF作为文件结束标志,可不用feof函数,而用以下方式判断文件结束: while((ch= fgetc(fp) !=EOF) putchar (ch);2.字符串读/写函数;例11.3从键盘读入字符串存入文件中,再从文件读回并显示在屏幕上 #includest

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档