C语言实验 文本操作

文件操作
实验目的
1.掌握文件的基本概念
2.掌握文本文件的打开和关闭操作
3.掌握文本文件的顺序读写方法
实验条件:
PC 计算机,或操作系统,及以上版本,
Dev-C++5.11 及以上版本或 Code .01 及以上版本 。
实验内容
1.程序调试
【C语言实验 文本操作】将字符写入文件:从键盘输入一行字符,写到文件 a.txt 中 。
源程序(有错误)
#include #include int main() { char ch; FILE fp; if((fp=fopen("a.txt","w")!=NULL)) { printf("Can't Open File!"); exit(0); }while ((ch=getchar())!='\n') //调试时设置断点 { fputc(ch, fp); }fclose(fp); return 0; }
程序清单如下:
#include #include int main() { char ch; FILE *fp; if((fp=fopen("a.txt","w+"))==NULL)//先赋值,后判断是否为空 { printf("Can't Open File!"); exit(0); }while ((ch=getchar())!='\n') //调试时设置断点 { fputc(ch, fp); }fclose(fp); return 0; }
该程序的运行结果如图一、图二所示:
图一
图二
2.基础编程
(1)编写程序从文本文件中读取整数 , 文件的每一行可以包含任意数量的整数

C语言实验 文本操作

文章插图
(也可以没有),中间用一个或多个空格隔开 。程序显示文件中的最大数和最小
数以及中值(整数有序的情况下最接近中间的那个数 。)如果文件中包含偶数个
整数,中间会有两个整数,程序显示它们的均值(向下取整) 。可以假定文件中
包含的整数个数不超过 10000 。
生成随机数程序清单如下:
#include #include #include int main() { FILE *fp; int i,num; if((fp=fopen("y.txt","w+"))==NULL)//先赋值 , 后判断是否为空 { printf("Can't Open File!"); exit(0); }//clearerr(fp); srand(time(NULL)); for(i=0;i<1000;i++) { num=rand()%1000+1; fprintf(fp,"%6d",num); //fprintf(fp,"\t"); }return 0; }
读取文件最大值,最小值 , 中值程序清单如下:
#include #include int main() { FILE *fp; int i=0,num[1000],j,temp=0,aver; int count=0; if((fp=fopen("y.txt","r"))==NULL)//先赋值,后判断是否为空 { printf("Can't Open File!"); exit(0); }while(!feof(fp)) { fscanf(fp,"%6d",&num[i]); i++; count++; }for(i=0;i
该程序的运行结果如图二所示:
图二