有没有办法在C++中确定Mac stdout是否指向控制台?

Ala*_*lan 6 c++ macos

不久前,我我如何从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 次

最近记录:

10 年,5 月 前