意外令牌附近的语法错误'换行符'从文件中读取数据时

时间:2014-12-25 01:35:18

标签: c++ file syntax newline

我的程序有问题。我尝试从文件中读取数据:

./programme <input.txt>

但是有一个错误:

bash: syntax error near unexpected token 'newline'

在我的程序中,我使用getline来读取数据:

while(getline(cin,string))
{
...
}

从keybord输入数据时,它正常工作。

这是包含文件input.txt:

的内容
0.2 0.1 
1.2 0.2
1.2 1.1
1 2 0
0 1 2

2 个答案:

答案 0 :(得分:3)

您必须到标准输入。

尝试以下方法之一:

./programme < input.txt

在Unix上:

cat input.txt | ./programme

在Windows上:

type input.txt | programme

答案 1 :(得分:0)

我认为你确实输入了字体:

./programme <input.txt>

这是一个bash语法错误,因为&gt; 必须后跟输出所针对的文件的名称。但是没有文件,所以bash抱怨它意外地找到了行的结尾。

同样,&lt; 后面跟着一个输入文件的名称。

所以你可能想写:

./programme < input.txt

或者你可以写

./programme < input.txt > output.txt

将从input.txt获取输入并将输出发送到output.txt

&lt; &gt; 之前和之后的空格是可选的。)