《经典规范C语言程序设计》实验报告[第九章]文件程序设计.doc
文本预览下载声明
《高级语言程序设计》实验报告
班级: 学号: 姓名: 成绩:
实验日期: 年 月 日
实验题目: 实验九 文件程序设计
实验目的:
实验内容:(包括算法说明:用文字或流程图说明;程序清单;运行结果:原始数据、相应的运行结果和必要的说明。)
原始数据、相应的运行结果和必要的说明。
原始数据、相应的运行结果和必要的说明。
分析与思考:(调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会)
1
1.掌握文件缓冲文件系统文件指针的概念学会使用文件打开、关闭、读、写等文件操作函数学会用缓冲文件系统对文件进行简单的操作
1.改错题
在键盘输入四行字符写到D盘data1.dat文件中,c存盘。
#include stdio.h
#includestring.h
void main()
{
FILE *fp1;
char ch[80];
int i,j;
fp1=fopen(d:\\data1.dat,b);
for(i=1;i=4;i++)
{gets(ch);
j=0;
while(ch[j]!=\0)
{fputc(fp1, ch[j]);
j++;
}
fputc(fp1,\n);
}
fclose(fp1);
}
(2) 下列程序的功能为:随机产生10整数,写入一个二进制文件中,请纠正程序中存在错误,使程序实现其功能,程序以文件名sy9_2.c存盘。
#include stdlib.h
#include stdio.h
#include time.h
void main ( )
{ int x[10],i,k;
FILE *fp2;
srand( (unsigned)time( NULL ) );
for (i=0;i10;i++)
x[i]=rand();
fp2=fopen (d:\\data2.dat,wb);
if(fp2==NULL)
{
printf(Open error \n);exit(0);
}
for (int k=0 ; k10 ; k++ )
fwrite( x[k],sizeof(int), fp2);
fclose (fp2 ) ;
}
(3) 下列程序的功能为:从数组读入数据,建立ASCII码文件,并按下列格式输出:
10 20 30 40 50 60 70 80 90 100(每个数据占5个字符宽度),请纠正程序中存在语法错误,使程序实现其功能,程序以文件名sy9_3.c存盘。
#includestdio.h
#includestdlib.h
void main()
{ FILE *fp3;
int b[]={10,20,30,40,50,60,70,80,90,100},i=0,n;
if((fp3=fopen(e:\\file9_3.txt,w))==NULL)
{ printf(%s不能打开\n,e:\\file9_3.txt);
exit(1);
}
while(i10)
{ fprintf(fp3,%d,b[i]);
if(i%3==0) fprintf(fp3,\n);
i++;
}
if((fp3=fopen(e:\\file9_3.txt,r))==NULL)
{ printf(%s不能打开读\n,e:\\file9_3.txt);
exit(1);
}
fscanf(fp3,%5d,n);
while(!feof(fp3))
{ printf(%5d,n);
fscanf(fp3,%d,n);
}
printf(\n);
fclose(fp3);
}
2.程序填空
(1) 下列程序的功能为:从字符指针数组读出字符串,建立ASCII码文件file9_4.txt,请填写适当的符号或语句,使程序实现其功能,程序以文件名sy9_4.c存盘。
#includestdio.h
显示全部