从文件读取数据时意外标记"换行符"附近出现语法错误

Syntax error near unexpected token 'newline' while reading data from file

本文关键字:换行符 错误 语法 读取 文件 数据 意外      更新时间:2023-10-16

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

./programme <input.txt>

但是有一个错误:

bash: syntax error near unexpected token 'newline'

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

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

当我从键盘输入数据时,它工作正常。

这是包含文件输入的内容.txt:

0.2 0.1 
1.2 0.2
1.2 1.1
1 2 0
0 1 2

您必须实际写入标准输入。

尝试以下方法之一:

./programme < input.txt

在 Unix 上:

cat input.txt | ./programme

在视窗上:

type input.txt | programme
我想

你实际上是从字面上输入的:

./programme <input.txt>

这是一个 bash 语法错误,因为>后必须跟有输出将定向到的文件的名称。但是没有文件,所以bash抱怨它意外地找到了行的末尾。

同样,<后跟从中获取输入的文件的名称。

所以你大概想写:

./programme < input.txt

或者你可以写

./programme < input.txt > output.txt

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

<>前后的空格是可选的。