C++:从管道填充矢量

Arm*_*man 1 c++ stl

我想填写我vector<float>的命令行:

more my.txt | myexe.x > result.txt
Run Code Online (Sandbox Code Playgroud)

在C++中打开管道的最佳方法是什么?谢谢阿曼.

Tho*_*mas 10

您的shell将标准输出连接more到标准输入myexe.x.因此,您只需阅读std::cin,无需担心输入是来自键盘还是来自其他程序.

例如:

vector<float> myVec;
copy(istream_iterator<float>(cin), istream_iterator<float>(),
     back_inserter(myVec));
Run Code Online (Sandbox Code Playgroud)

  • @arman - istream_iterator <float>()表示输入结束. (2认同)