使用`backticks`而不是Pipe |读取值C ++

时间:2012-11-22 10:11:03

标签: c++ linux shell

在shell上有可能使用Pipe将输出提供给另一个程序。

例如:::

ps axu | grep someprocess

现在我想编写一个接受这些Pipes的C ++程序。

我找到了类似的解决方案。

using namespace std;

int main()
{
    string mypipe;
    if(cin);
    {
        cin >> mypipe;
        cout << mypipe << endl;
    }
    return 0;
}

现在我想要,我可以使用反引号来调用我的函数。

例如我正在使用像这样的shell构造。

./myprog.bin `./otherprog.bin someparameter`

如何使用Parameters读取otherprog.bin在我的Programm中生成的输出?

1 个答案:

答案 0 :(得分:2)

将命令行参数添加到主函数中,如下所示:

int main( int argc, const char* argv[] )

argc是参数计数,argv保存它们的表。