下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。 请在下画线处填入正确的内

admin2018-09-10  36

问题 下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include<stdio.h>
#include<stdlib.h>
int fun(char*source.char*target)
{
FILE*fs,*ft;char ch;
/******found******/
if((fs=fopen(source,___1___))==NULL)
return0;
if((ft=fopen(target,"w"))==NULL)
return0;
printf("\nThe data in file:\n");
ch=fgetc(fs);
/******found******/
while(!feof(___2___))
{
putchar(ch);
/******found******/
fpute(ch,___3___);
ch=fgetc(fs);
}
fclose(fs);felose(ft);
printf("\n");
return1;
}
main()
{
char sfname[20]="myfile1",tfname[20]="myfile2";
FILE*myf;int i;char c;
myf=fopen(sfname,"w");
printf("\nThe original data:\n");
for(i=1;i<30;i++)
{
c=’A’+rand()%25;
fprintf(myf,"%c",c);
printf("%c",c);};
felose(nyf);printf("\n\n");
if(fun(sfnarne,tfname))
printf("Succeed!");
else
pfinff("Fail!");
}

选项

答案(1)"r" (2)fs (3)ft

解析 本题考查:打开文件操作,fopen函数用来打开一个文件,其一般形式为“文件指针名=fopen(文件名,使用文件方式);”;文件结束检测函数feof函数;写字符函数fputc,功能是把一个字符写入指定的文件中,函数调用的形式为“fputc(字符量,文件指针);”。其中,待写入的字符量可以是字符常量或变量,被写入的文件可以用写、读/写、追加方式打开。文件一旦使用完毕,需使用关闭文件函数fclOSe将文件关闭,以避免文件的数据丢失等错误。
填空1:本题考查对文件操作的掌握。打开一个文件的调用方式是:fs=fopen(文件名,使用文件方式),以只读的方式打开文件,所以文件打开方式为"r"。
填空2:while循环语句中,循环条件通过feof()函数来检测是否到文件结尾。
填空3:fputc()函数用于将一个字符写到磁盘文件上,调用形式为:fputc(要输出的字符,文件指针)。
转载请注明原文地址:https://kaotiyun.com/show/ZVxp777K
0

最新回复(0)