在文档中,除了标准 stdin、stdout 和 stderr 之外,还有有关其他流的信息。 (http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true)
UNDEFINED 3-9 - 这些句柄由应用程序单独定义,并且特定于每个工具。
所以我想要完成的是通过自己的输出流创建(假设在插槽 3 上)并将其用于调试。 (我看到系统没有提供stddbg流。)
所以我的问题是 - 是否可以检查非标准输出流是否正在等待数据,就像我对 stderr 所做的那样:
isatty(fileno(stderr)) == 0
然后我可以选择选择一种对日志文件更友好的不同类型的错误信息格式。 当以这种方式使用命令时,上面的代码是正确的:
myApp.exe param1 param2 2> error.log
但是当我需要区分调试(或性能)和错误消息时,我很想使用另一个流,例如:
myApp.exe param1 param2 3> debug.log
但是如何检查该流是否已连接到应用程序,我应该使用什么名称作为 fileno()
函数的参数?
最佳答案
关于c++ - 如何在 Windows 控制台中将数据输出到自定义流(3> 4> 等..)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23630121/