山东理工大学史上最全C语言C程序设计文件.ppt

山东理工大学史上最全C语言C程序设计文件.ppt

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

第十四章文件;如int型数10000;文件处理方法

缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区

非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区;14.2文件类型指针

文件结构体FILE

缓冲文件系统为每个正使用的文件在内存开辟文件信息区

文件信息用系统定义的名为FILE的结构体描述

FILE定义在stdio.h中;文件类型指针

指针变量说明:FILE*fp;

用法:

文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件

文件关闭后,它的文件结构体被释放;14.3文件的打开与关闭

C文件操作用库函数实现,包含在stdio.h

文件使用方式:打开文件--文件读/写--关闭文件

系统自动打开和关闭三个标准文件:

标准输入------键盘stdin

标准输出------显示器stdout

标准出错输出-----显示器stderr

打开文件fopen

函数原型:FILE*fopen(char*name,char*mode);【例】创建一个名为a1.txt的文件。

#includestdio.h

main()

{FILE*fp;

fp=fopen(a1.txt,w);

}

;文件关闭fclose

作用:使文件指针变量与文件“脱钩”,释放文件结构体和文件指针

函数原型:intfclose(FILE*fp);if(fp==NULL)

{printf(文件打开失败!\n);

exit(0);

};创建文本文件与二进制文件;格式化I/O:fprintf与fscanf

函数原型:;feof函数的原型为

intfeof(FILE*fp);

其功能是判断fp所指向的文件是否到达文件末尾。

若是,则返回非0;否则,返回0。;海萍夫妇为了彻底告别“蜗居”生活,痛下决心贷款120万元购买了一套三居室。若贷款月利率为0.5%,还款期限为120个月,还款方式为等额本金还款法(即贷款期限内每期以相等的额度偿还贷款本金,贷款利息随本金逐期递减)。试求出每个月还款的本金、每个月的利息以及总利息分别是多少元。要求将输出结果写入到数据文件中。;【例】从文件中读出100个数据。

#includestdio.h

#includestdlib.h

main()

{FILE*fp;

inti,x;

if((fp=fopen(d:\\f01\\a1.txt,r))==NULL)

{printf(文件打开失败!\n);

exit(0);}

for(i=1;i=100;i++)

{fscanf(fp,%d,x);//根据写入格式读出

printf(%d,x);}

fclose(fp);

};当从文件中读出数据时,若未明确给出文件中数据的个数,如何才能控制读出全部数据呢?

为此,在C语言中提供了一个测试函数feof,通过该函数即可判断是否读完全部数据而到达文件末尾。

feof函数的原型为

intfeof(FILE*fp);

其功能是判断fp所指向的文件是否到达文件末尾。若是,则返回非0;否则,返回0。;【例】从文件中读出所有数据。

#includestdio.h

#includestdlib.h

main()

{FILE*fp;

intx;

if((fp=fopen(d:\\f01\\a1.txt,r))==NULL)

{printf(文件打开失败!\n);

exit(0);}

while(feof(fp)==0)

{fscanf(fp,%d,x);//根据写入格式读出

printf(%d,x);}

fclose(fp);

};【例】从文件中读出所有数据。

#includestdio.h

#includestdlib.h

main()

{FILE*fp;

intx;

if((fp=fopen(d:\\f01\\a1.txt,r))==NULL)

{printf(文件打开失败!\n);

exit(0);}

while(1)

{fscanf(fp,%d,x);

if(feof(fp)!=0)break;

printf(%d,x);}

fclose(fp);

};【例】从键盘上输入若干个学生成绩,以?99作为结束标志,然后写入到C盘根目录中的文件number.txt中。

算法设计:

(1)以写方式打开文件number.txt;

(2)输入一个学生成绩,并写入到文件number.txt中;

(3)循环执行第(2)步,直至输入?99为止;

(4)关闭文件。;#incl

您可能关注的文档

文档评论(0)

132****1010 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档