我的程序需要正确处理以下命令行参数。但我不明白这是什么或如何实现它。
main.exe < test.txt
test.txt文件包含:
类型数:20
实心:6
其他人:0
答案 0 :(得分:0)
在shell脚本中&lt;'意味着文件的内容或右侧程序的输出(在您的情况下为text.txt)将通过标准输入(c ++中的std :: cin)传递到左侧。这意味着您可以使用std :: cin直接读取文件。
还有其他像'&gt;'这使得左边的标准输出成为正确的元素。
答案 1 :(得分:-1)
OS中的进程具有用于输入和输出数据的IO功能。 c ++中的标准输入与std :: cin,标准输出绑定到std :: cout,标准错误绑定到std :: cerr。
在Linux中,提供的语法意味着您将获得标准输入中的文件内容。然后,您可以使用该路径加载文件并执行您需要执行的任何操作。
int main(void)
{
std::string file, line;
while (std::getline(std::cin, line))
{
file += line;
file += "\n";
}
//Do what you need to do here with file contents
return 0;
}
编辑:基于评论的情侣调整,已经有一段时间了,因为我需要实际编写像这样的linux程序。