如何在 c++ 中检查操作系统是 Windows 还是 Debian?
Posted
技术标签:
【中文标题】如何在 c++ 中检查操作系统是 Windows 还是 Debian?【英文标题】:how to check if the OS is Windows or Debian in c++? 【发布时间】:2010-04-01 02:20:15 【问题描述】:每次用户在 C++ 中进行输入时,我都想清除控制台屏幕。
我正在考虑使用系统命令。对于 Windows,它是“cls”。对于 Linux,它是“清晰的”。有没有办法检查哪个系统在 c++ 中使用适当的命令?
谢谢。
【问题讨论】:
如果你不想使用 ifdefs,你可以同时使用它们。 @sisis:但这会将错误转储到命令提示符。 【参考方案1】:有个绝招:
if (system("clear"))
system("cls");
对于 Unix,它可以正常工作。对于 Windows,它会提示类似
的错误'clear' 未被识别为内部或外部命令, 可运行的程序或批处理文件。
虽然它现在会被“cls”清除。所以在命令提示符窗口中,它不会留下任何痕迹。 :D
【讨论】:
【参考方案2】:不,没有 C++ 标准的方法可以做到这一点。
您可以指示您的 Windows 编译器定义 WINDOWS
宏,并指示您的 linux 编译器定义 LINUX
宏;一些编译器默认执行此操作(例如 Visual Studio 定义 WIN32
)。
【讨论】:
【参考方案3】:您也可以在 C++ 中使用 C 预处理器 - 条件语法。
#ifdef linux
//clear
#else
//cls
#endif
【讨论】:
以上是关于如何在 c++ 中检查操作系统是 Windows 还是 Debian?的主要内容,如果未能解决你的问题,请参考以下文章