- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
文件信息的集合63
第12章 文 件;简单例子,读入一个数组,求最大值.;采取数据文件的好处
(1)原始数据以文件输入保证数据的正确性,减少重复输入数据操作
(2)以文件形式输出,便于打印、存档
(3)使用数据文件内存交换,小机算大题;文件缓冲区开设途征
(1)系统自动开设,使用之前需声明,称之缓冲文件系统
(2)用户自己开设,以数组形式定义,称之非缓冲文件系统
注 第(1)符合ANSI C标准;4.文件类型指针;FILE是由struct定义的类型,在stdio.h库文件中可以查到;5.使用数据文件的步骤;§12.2 文件的打开和关闭;char *type: 字符串,指出打开文件的方式
规定 r : 打开 只读 r+: 打开 读写
w: 创建 只写 w+: 创建 读写
a : 打开 追加 a+: 打开 读写
当打开的文件为二进制文件则*type后加b,否则为文本文件
如 rb, a+b;注(1)fopen调用成功返回文件柄(指针),失败返回NULL(即0),因而一般打开文件时采用判别
if((fp=fopen(file1.dat,r))==NULL)
{printf(Cannot open this file\n);exit(0);}
其中exit(0)是库函数(stdlib.h),作用是关闭所有打开的文件,并终止程序执行。参数0程序正常结束,参数非0程序不正常结束。;12.2.2 文件的关闭;§12.3 文件的读写;例 从键盘输入10个字符,写到文件f1.txt中;;例12-4 从键盘输入10个字符,写到文件f2.txt,再从文件读出屏幕输出;?文件读写时,指向文件缓冲区的指针自动依次下移;例 从键盘输入一行字符,写到文件f3.txt,再从文件读出屏幕输出;3、 feof 函数
格式 int feof(FILE *fp)
其中 fp : 文件指针
操作 测试文件是否结束, 结束返回值非0,否则返回0;例12-3 将磁盘文件a.txt的内容复制到文件b.txt;12.3.2 fputs 函数和 fgets函数;2.函数fgets( )
格式 char *fgets(char *s, int n,FILE *fp);
其中, s字符数组名或字符指针
n:指定读入的字符个数
fp:文件指针
操作 从文本文件中读取字符串
函数被调用时,最多读取n-1个字符,并将读入的字符串存入s所指向内存地址开始的n-1个连续的内存单元中。
当函数读取的字符达到指定的个数,或接收到换行符,或接收到文件结束标志EOF时,将在读取的字符后面自动添加一个\0字符;若有换行符,则将换行符保留(换行符在\0字符之前);若有EOF,则不保留
函数返回值
执行成功,返回读取的字符串;
如果失败,则返回空指针,这时,s的内容不确定;例12-5将字符串apple, grape, pear 写入到磁盘文件f12-5.txt中,然后再从该文件中读出,显示到屏幕。
int main(void)
{ FILE *fp; int i;
char a[ ][80]={apple, grape, pear}, strout[80]=;
if((fp=fopen(f12-5.txt,w))==NULL)
{printf(File open error!\n); exit(0);}
for(i=0;i3;i++) fputs(a[i], fp);
fclose(fp);
if((fp=fopen(f12-5.txt,r))==NULL)
{printf(File open error!\n); exit(0);}
i=0;
while(!feof(fp))
{if( fgets(strout, strlen(a[i++])+1,fp) != NULL)
puts(strout);
}
fclose(fp);
};12.3.3 fprintf 函数和 fscanf 函数;例12-2 将学生的计算机等级考试成绩,包括学号,姓名和分数保存到数据文件f.txt中.;例12-2 将数据文件f.txt中保存的学生的计算机等级考试成绩(包括学号、姓名和分数) 读出并显示到屏幕中。;1、 文本文件;2、二进制文件;§12.5 顺序文件和随机文件;随机
文档评论(0)