从文件读取数据时意外标记"换行符"附近出现语法错误
Syntax error near unexpected token 'newline' while reading data from file
我的程序有问题。我尝试像这样从文件中读取数据:
./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
。
(<和>前后的空格是可选的。
相关文章:
- 如何防止clang格式在流运算符调用之间添加换行符<<
- C/C++ - 查询平台相关的换行符(用于内存映射文件)
- 在 Stream C++ 文本之前有一个额外的换行符
- 流:CSV 文件中的换行符
- 如何在三元条件运算符中添加换行符和连接? :在 C++ 中
- Clang-格式:在多行语句之后的换行符上打开大括号
- 在输出流中插入换行符
- 防止控制台在通道字符(在 c++ 中)中输入空格(即空格、制表符和换行符)
- QProcess::readAllStandardOutput() 和换行符
- 如果有换行符,clang 格式不会附加大括号
- 提取后返回换行符的C++istream.get()
- 如何在出现换行符之前将多个整数作为输入?
- 正则表达式 获取两个换行符之间的文本
- 包含换行符分隔的单词的文件和C++中这些单词的字符串向量的大小是否相同?
- 在字符串中输入换行符
- 从文本文件中读取数据并删除所有换行符空格,并在 C++ 控制台中显示
- C++ 换行符上的合并排序错误中断
- 从文件读取数据时意外标记"换行符"附近出现语法错误
- 意外标记"换行符"附近的语法错误
- Boost::asio::async_read返回文件结束错误的换行符