- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C第16章文件要点
第16章 文件 16.1 C语言文件的概念 一、文件的概念 ?? 是存储在外部介质上的一批相关数据的集合。 二、文件的输入输出 ?? 文件的输入输出操作也称为“存取方式”,C语言中对文件的存取方式有两种:顺序存取和直接存取。 三、文本文件和二进制文件 数据文件按照其内部格式可以分为: ⑴文本文件 ? 文件内容以ASCII码形式存储的数据文件。 ⑵二进制文件 ? 文件内容以二进制数形式存储的数据文件。 C语言的数据文件既可以是文本文件,也可以是二进制文件。 16.2 文件指针 文件指针实际上是一个指向结构体类型的指针,这个结构体中包含一个文件的描述性信息。定义文件类型指针的一般形式是: FILE *指针变量名; 每个数据文件,都有一个对应的FILE类型变量,用以存储该文件的信息。 例如:FILE *fp1,*fp2; 16.3 打开文件 3.常用打开方式: r 只读方式。文件必须已存在。 w 只写方式。可以创建新文件。 a 追加方式。文件必须已存在。 4.函数值: 若打开文件成功,则返回该文件的指针;否则,返回空指针NULL。 通常按如下方式打开一个文件: FILE *fp; fp=fopen(file1.c,r); 考虑到有可能会打开失败,故增加如下判断: FILE *fp; if((fp=fopen(file1.c,r))==NULL) { printf(cant open this file\n); ???exit(0); } 16.4 关闭文件 文件关闭函数fclose 原型: int fclose(FILE *fp); 如 fcolse(fp); 功能: 关闭fp所指向的文件。 16.5 文件的读写 一、 调用putc(或fputc)函数输出一个字符 ? putc(ch,fp); 这里,ch是待输出的某个字符,可以是字符常量,也可以是字符变量;fp是文件指针。 功能:将字符ch写到文件指针fp所指的文件中。如果成功,返回所输出的字符,如果失败,返回eof值(即-1)。 fputc函数与putc函数完全相同。 16.5 文件的读写 例16.1 从键盘输入文本原样输出到名为file_a.dat的文件中,用字符@作为结束标志。 16.5 文件的读写 二、 调用getc(或fgetc)函数输入一个字符 ? ch=getc(fp); 这里, fp是文件指针。 功能:将fp所指定的文件中读入一个字符,并把它作为返回值存入变量ch。 fgetc函数与getc函数完全相同。 16.5 文件的读写 例16.2 将file_a.dat文件中的内容输出到屏幕上。 16.6 判断文件结束函数EOF 在上例中,用EOF作为文件结束标志,这种情况只针对文本文件有效。 当数据以二进制形式存放在文件中时,就不能使用EOF了,这时可使用feof函数。 如果遇到文件结束,feof函数的值为1,否则为0。 例16.3 编写程序将一个文本文件复制到另一个文件中,源文件名file_a.dat,目的文件名file_b.dat。 16.7 fscanf函数和fprintf函数 一、 fscanf函数 ? fscanf 函数的功能类似于scanf函数, 只不过fscanf是从文件中输入数据。 如 fscanf(fp,%d%f,i,t); ?二、fprintf函数 fprintf函数的功能类似于printf函数,只不过fprintf是将数据输出到文件中。 如 fprintf(fp,%d %f,i,t); 16.8 fgets函数和fputs函数 一、 fgets函数 ? fgets函数用来从文件中读入字符串。 如 fgets(str,n,fp); 其中,str是存放字符串的起始地址;n是int型变量,fp是文件指针。 功能:从fp所指文件中读入n-1个字符放入以str为起始地址的空间内。 16.8 fgets函数和fputs函数 二、 fputs函数 ? fputs函数用来将字符串输出到文件中。 如 fputs(str,fp); 其中,str是待输出的字符串;fp是文件指针。 * * 顺序存取:打开这类文件时,总是从文件开头开始, 从头到尾顺序读或写。 直接存取:调
文档评论(0)