文档详情

第八节 文件.ppt

发布:2017-05-31约1.94万字共39页下载文档
文本预览下载声明
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));
显示全部
相似文档