你好,如果我有一个包含以下文本的文件(text.txt):
This is a file.
在我的主函数中,我会像这样调用fscanf:
fscanf(fp, "%s", buffer)
然后执行
printf("%s", buffer);
其中fp
是文件指针,buffer是一个大小为100的字符数组,我将从文件中读取的内容存储在其中,
我得到的输出结果是:
This
我明白的原因是 - 这是因为
%s
扫描文件直到第一个空格。
然后,如果我调用
fscanf(fp, " is a %s.", buffer)
并执行
printf("%s", buffer)
并且我会得到输出。
file.
我在想为什么会是这样的,因为我认为%s
只会获取fp
指向文件中的下一个字符串,所以它不应该是file.
而不是is
.