我需要一个可以在Linux和Windows中清除屏幕的功能.为此,我想知道是否有一些说明可以告诉我我正在使用的操作系统.我搜索了解决方案,我找到了以下代码:
void clear_screen()
{
#ifdef WINDOWS
std::system ( "CLS" );
#else
// Assume POSIX
std::system("clear");
#endif
}
Run Code Online (Sandbox Code Playgroud)
这个功能有两个问题:
我不明白.
- > for #ifdef WINDOWS
,WINDOWS定义在哪里?
此代码适用于Linux,但在Windows中不起作用.
注意 :
我正在使用Windows XP.
我不想要任何非标准功能......比如"诅咒"
您正在寻找
// Windows, all variants (including 64-bit and ARM)
#ifdef _WIN32
Run Code Online (Sandbox Code Playgroud)
要么
#ifdef __unix__
Run Code Online (Sandbox Code Playgroud)
这些是由编译器定义的,不存储在头文件中.因此,您不需要首先#include
使用文件,并且这些#ifdef
将始终提供正确的结果(除非您弄乱编译器)
归档时间: |
|
查看次数: |
301 次 |
最近记录: |