我需要一个可以在 Linux 和 Windows 中清除屏幕的功能。为此,我想知道是否有一些说明可以告诉我正在使用的操作系统。 我搜索了解决方案并找到了以下代码:
void clear_screen()
{
#ifdef WINDOWS
std::system ( "CLS" );
#else
// Assume POSIX
std::system("clear");
#endif
}
这个函数有两个问题:
我不明白。
->对于
#ifdef WINDOWS
,WINDOWS是在哪里定义的?此代码在 Linux 中有效,但在 Windows 中无效。
注意:
我使用的是 Windows XP。
我不想要任何非标准功能......例如“诅咒”
最佳答案
_WIN32
、__gnu_linux__
、__linux__
等宏由相关编译器定义。您可以找到预定义编译器宏的完整列表 here .
_WIN32
是为 32 位和 64 位 Windows 环境定义的。
关于c++ - 我怎么知道我正在使用什么操作系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17168645/