有选择地显示子进程的stdout和stderr

时间:2016-07-03 14:42:48

标签: c++ node.js stdout

我正在维护一个cpp应用程序。在这个应用程序中,有几种打印消息的方法。

std::cout << "Hello world #1" << std::endl;
std::cerr << "Something went wrong #1" << std::endl;
printf("Hello world #2\n");
fprintf(stderr, "Something went wrong #2\n");

如果我在控制台中运行此cpp应用程序,将显示这四条消息。

现在我有一个nodejs应用程序,它将生成这个cpp应用程序。但我只能看到std::coutstd::cerr的输出。我假设我已正确设置stdio重定向。 但退出应用时会打印printffprintf的输出。

var child_process = require('child_process')
var cpp = child_process.spawn('path/to/cpp_app', [], {
  stdio: ['pipe', process.stdout, process.stderr]
});

如果我在nodejs方面无能为力,我必须将所有printffprintf(stderr更改为std::coutstd:cerr ...

0 个答案:

没有答案