我正在维护一个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::cout
和std::cerr
的输出。我假设我已正确设置stdio重定向。 但退出应用时会打印printf
和fprintf
的输出。
var child_process = require('child_process')
var cpp = child_process.spawn('path/to/cpp_app', [], {
stdio: ['pipe', process.stdout, process.stderr]
});
如果我在nodejs方面无能为力,我必须将所有printf
和fprintf(stderr
更改为std::cout
和std:cerr
...