单选题 有下列程序:
#include<stdio.h>
void main()
{ FILE *pf;
char *s1="China",*s2="Beijing";
pf=fopen("abc.dat","wb+");
fwrite(s2,7,1,pf);
rewind(pf); /*文件位置指针回到文件开头*/
fwrite(s1,5,1,pf);
fclose(pf);
}
以上程序执行后abc.dat文件的内容是{{U}} {{/U}}。
  • A.China
  • B.Chinang
  • C.ChinaBeij ing
  • D.BeijingChina
【正确答案】 B
【答案解析】[解析] 本题考查fwrite的调用形式。 其格式为“fwrite(buffer,size,count,fp);”。 fwritie函数的功能是对fp所指向的文件存入count次,每次存入一个大小为size的数据块,将存入的数据块存到buffer指向的内存区,如果buffer内存区有数据则将其覆盖。 本题中第一次调用fwrite函数,向文件中写入是S2的值“Beijing”,第二次调用fwrite函数,向文件中写入S1的值“China”,并将之前“。Beijing”的前几个字符覆盖,得到Chinang。