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

C语言程序设计 第八章 文件 8.1文件的概念 “文件”是计算机处理中经常使用的基本概念。一般说来,“文件”是数据的集合体,如“文件”用来表示输入输出操作的对象。文件可以从不同的角度进行分类: (1)?????? 按文件所依附的介质来分:纸带文件,磁带文件,磁盘文件等; (2)?????? 按文件的内容区分:有源文件(用编辑程序编好的),目标文件(编译后生成的),数据文件(保存着处理数据)等; (3)?????? 按文件中数据的组织形式区分,数据文件可分为字符代码文件(也称为字符文件、文本文件或正文文件)和二进制文件。 文件的物理存储位置在外部存储设备(盘、带等),对文件的处理过程就是面向文件的输入输出的过程。如从文件中读出信息,就是从文件输入的过程。向文件写入信息,就是向文件输出的过程。如图所示。 #includestdio.h main(int argc,char *argv[]) { FILE *fp1,*fp2; /*定义两个文件指针 fp1 和fp2,分别指向命令行参数中给出的文件*/ char pp; if(argc==1) /*如果命令行参数中没有给出文件名,则给出提示信息并退出*/ {printf(have not enter file name !); exit();} if((fp1=fopen(argv[1],wt))==NULL) /*以读写文本文件方式打开命令行参数中的前一个文件名标识的文件,若打开文件出错, 给出提示并退出程序。*/ {printf(Can’t open %s\n,argv[1]); exit(1);} printf(input a string:\n); pp=getchar(); while (pp!=\n) /*当读入字符不为回车符时, 则把该字符写入文件之中,然后继续从键盘读入下一字符*/ {fputc(pp,fp1);pp=getchar();} rewind(fp); /*使指针移向文件头*/ I f(argc==2) /*如果只给出一个文件名,则使fp2指向标准输出文件(即显示器)*/ fp2=stdout; else if((fp2=fopen(argv[2],wt+)) ==NULL) {printf(Can’t open %s\n,argv[1]);exit(1);} while((pp=fgetc(fp1))!=EOF) /*逐个读出文件1中的字符送到文件2中*/ fputc(pp,fp2); fclose(fp1); fclose(fp2); } #include stdio.h char s[7][11]= {“Monday”,“Tuesday”,“Wednessday”,“Thursday”,“Friday”,“Saturday”,“Sunday”}; int n[7]={7,8,9,7,9,7}; main() { int i; char ss[7][11]; FILE *fp; if(fp=fopen(file1.c,w))==NULL) /*以写文本文件方式打开文件file1.c,若打开文件出错, 给出提示并退出程序*/ {printf(file1.c can’t open!\n);exit();} for(i=0;i7;i++) /*把数组s中的内容写入文件file1.c*/ fputs(s[i],fp); fclose(fp); if(fp=fopen(file1.c,r))==NULL) /*以读文本文件方式打开文件file1.c,若打开文件出错, 给出提示并退出程序*/ {printf(file1.c can’t open!\n); exit();} for(i=0;i7;i++) /*在文件中读取数据,存放在数组ss中*/ fgets(ss[i],n[i],fp); fclose; for(i=0;i7;i++) /*输出结果*/ printf(“%s”,*(ss+i));

文档评论(0)

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

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

1亿VIP精品文档

相关文档