有下列程序:
#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文件的内容是( )。
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。