当前位置:文档之家› C语言程序设计实验报告——实验十一

C语言程序设计实验报告——实验十一

C 语言程序设计实验报告——实验十一
实验名称 文件
成绩
姓名
学号
班级
实验地点 9B506 实 1、掌握文件以及缓冲文件系统、文件指针的概念; 验 2、学会使用文件打开、关闭、读、写等文件操作函数;
完成日期
2009-12-23
目 3、学会用缓冲文件系统对文件进行简单的操作。

1.分析以下程序,判断输出结果,然后上机调试验证结果。 (1)以下程序的输出结果是___________________ # include <stdio.h> main() { FILE *fp; int c; fp=fopen("abcd.txt","w"); 实 do { c=getchar(); 验 fputc(c,fp); } while (c!=EOF); 内 fclose(fp); } 容 (2)以下程序的输出结果是___________________ # include <stdio.h> 与 main() { FILE *fp1,fp2 步 char c1,c2; clrscr(); 骤 fp1=fopen(“prog1.txt”,“r”); fp2=fopen(“prog2.txt”,“w”); while((c1=fgetc(fp1))!=EOF) { if (c1>='0'&&c1<='8') {


实 验 心 得
绩如下: 99101 Wang 89 98 67 实 99103 Li 60 80 90 99106 Fun 75 91 99 验 99110 Ling 80 50 62 99113 Yuan 58 68 7l 内 分析:该问题有两个主要步骤:首先定义结构体数组,将输入 数据首先存储到结构体 容 数组中。然后将结构体数组中的数据读出来,以块写入的方式 写到指定的文件中。 与
c2=c1+1; fputc(c2,fp2); }
}
fclose(fp1); fclose(fp后保存到另一个文件中 去,如果 prog1.txt 中的内 容是 34128967,那么文件 prog2.txt 中的内容是什么呢?
2.程序填空: (1)以下程序用来统计文件中字符个数。请填空: #include"stdio.h" main( ) { FILE *fp; long num=0L; if((fp=fopen("fname.dat","r")==NULL) { printf("Open error\n"); exit(0);} while(________________) { fgetc(fp); num++;} printf("num=%ld\n",num1); fclose(fp); } 实 (2)下面程序把从终端读入的文本(用@作为文本结束标志) 输出到一个名为 bi.dat 验 的新文件中。请填空。 #include "stdio.h" 内 FILE *fp; { char ch; 容 if( (fp=fopen ( _______________) )= = NULL)exit(0); while( (ch=getchar( )) !='@') fputc (ch,fp); 与 fclose(fp); } 步 3.编程题 (1)用任何一种方法先创建一个文本文件 string.txt,编写程 骤 序将该文件的内容显示出 来。 分析:只显示文件内容,即为读文件,应以“r”方式将 string.txt 文件打 开。文件结束 状态判断用 feof()函数。 (2)编写一个文本文件复制函数,并在主函数 main()中调用 它,将上面建立的文本文 件 string.txt 复制到文件 backup.txt 中。 分析: 文件复制需要对两个文件进行操作,源文件用“r”方 式打开,目标文件用“w” 方式打开。文件复制函数 copy()使用两个字符型指针参数,调 用时实参使用文件名字符串, 或者是存储文件名的字符串变量。文件复制的方法:从源文件 中逐个读出字符,并立刻把 读出的一个字符写入到目标文件中。 (3)用文件存储学生数据。有 5 个学生,每个学生有 3 门 课的成绩,从键盘输入数据 (包括学生号、姓名、3 门课成绩),计算出平均成绩,将原有 数据和计算出的平均分数存放 在磁盘文件 stud 中。设 5 名学生的学号、姓名和 3 门课成
相关主题