带有#include“test.txt”的fput - 编译错误

时间:2018-01-08 16:14:49

标签: c gcc

text.txt文件包含1行

ooo

这是代码: -

fputs (
#include "test.txt"
,stdout
);

编译错误:

1:1: error: ‘ooo’ undeclared (first use in this function)

2 个答案:

答案 0 :(得分:4)

#include将包含您文件的内容以代替该语句。因此,您的代码将被解释为:

fputs (
ooo
,stdout
);

错误是有道理的,因为显然,ooo不是你之前定义的。

如果您打算打印实际字符串ooo,则应在txt文件中用引号将其括起来,使其变为"ooo"

答案 1 :(得分:1)

来自6.10.2p3

  

表单

的预处理指令
# include "q-char-sequence" new-line
     

导致该指令的全部内容被替换   由"之间的指定序列标识的源文件   分隔符。

此处内容为ooo,编译器无法理解此ooo的含义。它从未见过它的宣言。