我有两个程序:p1和p2。我跑p1 | P2。我知道如何从p2 stdin中的p1读取stdout。我怎么能用stderr做同样的事。
谢谢, 尼古拉斯
答案 0 :(得分:3)
大多数(或所有)shell中的管道(#include <iostream>
using namespace std;
int main()
{
int a = 20;
cout << &a << endl;
int a = 15;
cout << a << endl;
return 0;
}
int main()
{
int T[2];
T[0] = 20;
T[1] = 15;
for(int g=0; g<2; g++)
{
int a = T[g];
cout << &a << endl;
}
}
)获取命令的标准输出并将其传递给第二个命令。
因此,只能在命令行上执行第一个命令中的stderr。在bash中你会这样做:
|
这告诉bash将stderr转发到stdout。然后两者都用管道输送到p2。
或者你可以让p1只将一切打印到stdout。