-1

我要给我写一个小print( )函数。
但是,在所述功能中,我必须确定我是否正在处理独立于操作系统的控制台应用程序。
(主要用于决定是否使用std::cout或与操作系统相关的MessageBox实现。)

如果没有自动生成的常量,是否还有另一种适合多平台兼容的方式?

我会将它包含在一个库中,这意味着我不知道将使用哪个编译器或哪个 IDE。

4

2 回答 2

1

在 Windows 上,您可以结合GetConsoleWindow() 一系列其他 API 调用来了解应用程序是控制台类型还是 GUI。就像在这篇文章中一样:如何检查程序是否从控制台运行?

另请参阅 测试标准输入是否具有 C++(Windows 和/或 linux)的输入

于 2015-04-26T18:07:38.117 回答
1

没有独立于平台的方法来确定您的应用程序是使用 GUI 还是控制台。

这在 UNIX 平台上是极其困难的,因为那里有许多不同的 GUI 库,更不用说 Wayland 和 X11。

于 2015-04-26T18:14:27.127 回答