C++ 在C+中,I/O重定向意味着什么+;?

C++ 在C+中,I/O重定向意味着什么+;?,c++,C++,我的程序需要正确处理以下命令行参数。但我不明白这是什么,也不知道如何实施 main.exe < test.txt main.exe 在Linux中,提供的语法意味着您将在标准输入中获得文件内容。然后,您可以使用该路径加载文件,并对其执行任何需要执行的操作 int main(void) { std::string file, line; while (std::getline(std::cin, line)) { file += line; file

我的程序需要正确处理以下命令行参数。但我不明白这是什么,也不知道如何实施

main.exe < test.txt
main.exe
test.txt文件包含:

类型计数:20
固体:6

其他:操作系统中的0进程具有输入和输出数据的IO功能。C++中的标准输入与STD::CIN绑定,标准输出为STD::CUT,标准错误与STD::CURR绑定。p> 在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程序。

在shell脚本中,它使左元素的标准输出成为右元素。

这是一个shell功能。您将看到通过
std::cin
输入的
test.txt
文件。此外,
main.exe
也没有命令行参数,因为shell重定向文件,您将获得文件的内容,而不是其路径。实际上,自从1950年代FORTRAN有类似的概念以来,这些东西就一直存在。在20世纪70年代,C用更为熟悉的标签“stdin”定义了它们。您将获得文件或流中的第一个单词(空格分隔的标记)。调整后,现在应该阅读所有文件,知道要点已经有一段时间了,因为我实际上必须编写上述代码。请注意,您现在已经从输入中删除了所有关于行尾的信息。