不久前,我问我如何从Windows上运行的C++程序中确定stdout是否指向控制台.我收到了一个有用的答案:GetConsoleMode().
更新:具体来说,如果stdout指向控制台,则此表达式的计算结果为true:
GetConsoleMode(GetStdHandle(STD_OUTPUT_HANDLE), &temp)
Run Code Online (Sandbox Code Playgroud)
现在我正试图在Mac上解决同样的问题.是否有类似的功能,我可以从Mac OS X调用,以确定是否stdout指向控制台?
更新:人们建议使用函数isatty(),它接受文件描述符.在Windows的情况下,该描述符是通过调用GetStdHandle(STD_OUTPUT_HANDLE)获得的.我会isatty(fileno(stdout))按照建议查看我是否可以打电话.
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |