问题 单项选择题

有以下程序:
#include <stdio.h>
main()
FILE *pf;
char *s1="China", *s2="Beijing";
pf=fopen("123.dat", "wb+");
fwrite(s2, 7, ", pf);
rewind(pf); /*文件位置指针回到文件开头*/
fwrite(s1, 5, 1, pf);
fclose(pf);

以上程序执行后123.dat文件的内容是( )。

A) China
B) Chinang
C) ChinaBeijing
D) BeijingChina

答案

参考答案:B

解析: 本题考查的是文件操作。程序首先定义了一个文件指针pf,并使用fopen()函数以“wb+”方式新建一个可读写的二进制文件“123.dat”。然后使用fwrite()函数写入字符串s2的前7*1个字符。现在文件中的内容应该为:“Beijing”。接下来程序使用rewind()函数,将文件的读写指针调回起始位置。并又调用fwrite()函数写入字符串s1的前5*1个字符。所以文件原内容“Beijing”的前5个字符被覆盖,结果为“Chinang”,故本题应该选择B)。

单项选择题
单项选择题 A1/A2型题