问题
单项选择题
有下列程序:
#include<stdio.h>
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.ChinaBeijing
D.BeijingChina
答案
参考答案:B
解析: 本题考查fwrite的调用形式。其格式为
fwrite(buffer,size,count,fp);
fwritie函数的功能是对fp所指向的文件存入count次.每次存入一个大小为size的数据块,将存入的数据块存到buffer指向的内存区,如果buffer内存区有数据则将其覆盖。
本题中第一次调用fwrite函数,向文件中写入的是S2的值“Beijing”,第二次调用fwrite函数,向文件中写入的是S1的值“china”,并将之前“Beijing”的前几个字符覆盖,得到Chinang。