printf(\输入目标文件的名字:\); scanf(\,outfile);
if((in=fopen(____(1)____))==NULL) // 打开输入文件 {
printf(\无法打开源文件\\n\); exit(0); }
if((out=fopen(____(2)____))==NULL) // 打开输出文件 {
printf(\无法打开目标文件\\n\); exit(0); }
ch=fgetc(____(3)____); while(____(4)____) {
fputc(____(5)____); ch=fgetc(in); }
printf(\文件复制完毕\\n\\n\);
____(6)____; // 关闭输入文件 ____(7)____; // 关闭输出文件 return 0; } 操作要求:
(1)请将实验6目录下的文件myfile.txt、test.exe拷贝到F:\\目录中; (2)运行程序,输入源文件名:F:\\\\myfile.txt,目标文件名:F:\\\\myfile2.txt。查看myfile.txt与myfile2.txt是否完全相同?(可通过比较文件大小、用UltraEdit比较两文件的内容来判定);
(3)再次运行程序,输入源文件名:F:\\\\test.exe,目标文件名:F:\\\\test2.exe。这两个文件完全相同吗?请分析其中的原因,并加以改进。 问题:
(1)打开源文件、目标文件时,打开方式各是什么? (2)文本文件、二进制文件的打开方式有什么不同? (3)对于文本文件、二进制文件,如何判断遇到了文件尾?
35、实验_6 3、(基础题)分析、运行下列程序,指出其功能,熟悉文件读写函数的使用: (1)
#include
FILE *fp;
char str[101]; int i,n=5;
if((fp=fopen(\,\))==NULL) {
printf(\不能打开此文件!\\n\); exit(0); }
printf(\请输入几个字符串:\\n\);
while(strlen(gets(str))>0) {
fputs(str,fp); fputs(\,fp); }
printf(\字符串内容已保存!\\n\); fclose(fp);
if((fp=fopen(\,\))==NULL) {
printf(\不能打开此文件!\\n\); exit(0); }
printf(\文件中保存的字符串有:\\n\); while(fgets(str,101,fp)!=NULL) printf(\,str); fclose(fp); printf(\);
return 0; }
(2)
#include
FILE *fp; int i,k;
int num[]={100,101,102,103,104,105,106,107,108,109}; if((fp=fopen(\, \))==NULL) {
printf(\不能将数据保存到myarray.txt文件中!\\n\); exit(0); }
for(i=0; i<=9; i++) {
fprintf(fp,\, num[i]); fprintf(fp,\); }
fclose(fp);
if((fp=fopen(\, \))==NULL) {
printf(\不能打开myarray.txt文件!\\n\); exit(0); }
for (i=0; i<=9; i++) {
fscanf(fp, \, &k); printf(\,k); }
printf(\); fclose(fp); return 0; } (3)
#include
FILE *fp; int i,k;
int num[]={100,101,102,103,104,105,106,107,108,109},b[10];
}
if((fp=fopen(\, \))==NULL) {
printf(\不能将数据保存到myarray.dat文件中!\\n\); exit(0); }
fwrite(num,sizeof(int),10,fp); fclose(fp);
if((fp=fopen(\, \))==NULL) {
printf(\不能打开myarray.dat文件!\\n\); exit(0); }
fread(b,sizeof(int),10,fp); fclose(fp);
for (i=0; i<=9; i++)
printf(\,b[i]); printf(\); return 0;
36、实验_6 4、(基础题)编程实现:有 5个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生学号,姓名,三门课成绩),计算出平均成绩,将原有数据和计算得到的平均分数存放在磁盘文件D:\\stud.dat中。程序运行结果如下图所示:
37、课件第7讲 例1: 对一个文本文件先显示输出其内容,再复制到另一个文件中去。
38、课件第7讲 例2:在磁盘文件stu.dat上已存有10个学生的数据。要求将
第1,3,5,7,9个学生数据输入计算机,并在屏幕上显示出来。
39、课件第7讲 综合案例(1)——通讯录信息管理系统
40、实验_6 2、(基础题)建立一个C项目,请将文件夹“通讯录管理系统(源代码)”下的
my_contact.c文件复制、添加到项目中,之后分析、运行程序,并回答下列问题: (1) 该系统操作、管理的数据(信息)是什么?怎样表示? (2) 怎样才能长期保存这些数据(信息)? (3) 本系统包含哪些功能?
(4) 程序代码通过什么方式来组织?并举例说明。 (5) 如何让用户方便操作?怎样设计、实现系统的主菜单?