请补充main函数,该函数的功能是把文本文件B中的内容追加到文本文件A的内容之后。
例如,文件B的内容为“I’m 12.”,文件A的内容为“I’m a students!”,追加之后文件A的内容为”I’m a students!I’m 12.”
仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其他任何内容。
#include
#include
#define N 80
main()
{
FILE *fp, *fp1, *fp2;
int i;
char c[N], ch;
fp = fopen("A.dat", "w");
fprintf(fp, "I'm File A.dat!\n");
fclose(fp);
fp = fopen("B.dat", "w");
fprintf(fp, "I'm File B.dat!\n");
fclose(fp);
if ((fp = fopen("A.dat", "r")) == NULL)
{
printf("file A cannot be opened\n");
exit(0);
}
printf("\n A contents are :\n\n");
for (i=0; (ch = fgetc(fp))!=EOF; i++)
{
c[i] = ch;
putchar(c[i]);
}
fclose(fp);
if ((fp=fopen("B.dat", "r")) == NULL)
{
printf("file B cannot be opened\n");
exit(0);
}
printf("\n\n\nB contents are :\n\n");
for (i=0; (ch = fgetc(fp))!=EOF; i++)
{
c[i] = ch;
putchar(c[i]);
}
fclose(fp);
if ((fp1=fopen("A.dat", "a")) ___1___ (fp2=fopen("B.dat", "r")))
{
while ((ch=fgetc(fp2)) != EOF)
___2___;
}
else
{
printf("Can not open A B !\n");
}
fclose(fp2);
fclose(fp1);
printf("\n********new A contents*********\n\n");
if ((fp=fopen("A.dat", "r")) == NULL)
{
printf("file A cannot be opened\n");
exit(0);
}
for (i=0; (ch=fgetc(fp))!=EOF; i++)
{
c[i] = ch;
putchar(c[i]);
}
___3___;
}
答案
第一处填空:&&
第二处填空:fput c (ch,fp1)
第三处填空:fclose (fp)
编辑特别推荐: