第十章文件及文件管理.ppt

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

第10章 文件及文件管理 ;10.1 文件的基本概念;10.2 文件的打开与关闭 ;例:打开一个将计算结果能够存放在外存的文件 FILE *fp; fp=fopen(“result.c”,”w”); 说明: 1. 工作方式 r 读 w 写 a 追加 b 二进制文件 + 可读、可写 ;2.用w打开的文件,若原文件中已有文件内容, 则将原内容清除。 3.用a打开的文件,文件指针指向文件尾部。 4.若文件打开出错,则返回一个NULL值。因此常常用下列格式提示出错: if(fp=fopen(“r.c”,“r”)==NULL) {printf(“cannot open this file”); exit(0); } 其中: exit(0) 为返回编辑状态,0可省。 5.打开文件时,工作方式可以组合。 例如:rb, wb, b+ ; fclose(fp) 10.3 文件的读写 11.3.1 把一个字符输出到文件中 fputc(ch,fp); 11.3.2 从文件中读出一个字符 ch=fgetc(fp) 例:将从键盘上输入的内容以文本方式存于文件 file.c 中 ;算法: 1.定义文件指针变量 2.打开写文件 3.输入字符,遇“#”标记结束 4.输出到文件,转第3步 5.关文件 ; 程序: #includestdio.h main() {FILE *fp;char ch; if((fp=fopen(file.c,w))==NULL) {printf(error\n);exit(0);} ch=getchar(); while(ch!=#) {fputc(ch,fp); ch=getchar();}} ;例:将存于文件 file.c中的内容再取出显示 算法: 1. 定义文件指针变量 2. 打开读文件 3. 取字符,到文件未结束 4. 输出到屏幕,转第3步 5. 关文件 ; 程序: #includestdio.h main() {FILE *fp; char ch; if((fp=fopen(file.c,r))==NULL) {printf(error\n);exit(0);} ch=fgetc(fp); while(!feof(fp)) {printf(%c,ch); ch=fgetc(fp);} };例:完成文件from.c 到文件to.c 的复制 算法 : 1. 定义两个文件指针变量 2. 打开读文件(from.c) 3. 打开写文件(to.c) 4. 从from读入字符, 输出到文件to, 直到文件结束。(feof(fp)为1时,文件指针指到文件尾。 5. 关文件 ; 程序: #includestdio.h main() {FILE *fp1,*fp2; char ch; clrscr(); if((fp1=fopen(“from.c,r))==NULL) {printf(error\n);exit(0);} if((fp2=fopen(“to.c,w))==NULL) {printf(error\n);exit(0);} while(!feof(fp1)) {ch=fgetc(fp1); fputc(ch,fp2); putchar(ch);} } ; 例:统计文件from.c 的字符个数 例:将两个文件合并 例:用二进制方式将c盘某一文件复制到软盘上 例: 将一个c 语言程序读出显示在屏幕上 #includestdio.h main() {FILE *fp; char ch; if((fp=fopen(“10-1.1,r))==NULL) {printf(error\n);exit(0);} while(!feof(fp)) {ch=fgetc(fp); putchar(ch);} } ; 例: 使用 copy from.c to.c 命令格式复制文件 #includestdio.h main(int argc,char *argv[]) {FILE *fp,*fp1; char ch; crscr(); if(argc!=3) printf(num error); if((fp=fopen(argv[1],r))==NULL) {printf(error1\n);exit(0);} if((fp1=fopen(argv[2]

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档