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

admin2019-04-14  30

问题 下列给定程序的功能是:调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回1,失败时返回0。在复制的过程中,把复制的内容输出到屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <stdlib.h>
int fun(char *souree,char *target)
{
FILE *fs,*ft;char ch;
/* * * * * * found * * * * * */
if((fs=fopen(source,___1___))= =NULL
return 0;
if((ft=fopen(target,″w″))= =NULL)
return 0;
printf(″\nThe data in file:\n″);
ch=fgeto(fs);
/* * * * * * found * * * * * */
while(!feof(___2___))
{
putchar(ch);
/* * * * * * found * * * * * */
fputc(ch,___3___);
ch=fgetc(fs);
}
fclose(fs);fclose(ft);
printf(″\n″);
return 1;
}
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);};
fclose(myf);printf(″\n\n″);
if(fun(sfname,tfname))
printf(″Succeed!″);
else
printf(″Fail!″);
}

选项

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

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

最新回复(0)