【发布时间】:2020-03-20 22:43:23
【问题描述】:
您好,如果我有一个包含以下文本的文件 (text.txt):
This is a file.
在我的主要方法中,我这样调用 fscanf:
fscanf(fp, "%s", buffer)
然后做
printf("%s", buffer);
fp 是文件指针,缓冲区是一个大小为 100 的 char 数组,用于存储我从文件中读取的内容,
我得到了输出:
This
我明白原因 - 这是因为 %s 将文件扫描到第一个空格。
如果我打电话给
fscanf(fp, " is a %s.", buffer)
然后做
printf("%s", buffer)
我得到了输出
file.
我想知道为什么会这样,因为我认为%s 只会得到fp 在文件中指向的下一个字符串,所以不应该是这样
is
并不是
file.
【问题讨论】:
-
您好,请编辑问题并发布minimal reproducible example 并正确格式化。谢谢