如何在c ++中检查操作系统是Windows还是Debian?

时间:2010-04-01 02:20:16

标签: c++ windows linux

每次用户在C ++中输入时,我想清除控制台屏幕。

我正在考虑使用系统命令。对于Windows,它是“cls”。对于Linux,它是“清楚的”。有没有办法检查哪个系统在c ++中使用适当的命令?

感谢。

4 个答案:

答案 0 :(得分:5)

有一个技巧解决方案:

if (system("clear"))
  system("cls");

对于Unix,它只是正常工作。对于Windows,它将提示错误,如

  

'clear'不被视为内部或外部命令,   可操作程序或批处理文件。

虽然它现在将被“cls”清除。因此,在命令提示符窗口中,它不会留下任何轨道。 :d

答案 1 :(得分:4)

不,没有C ++标准的方法来实现它。

您可以指示您的Windows编译器定义WINDOWS宏和您的linux编译器来定义LINUX宏;一些编译器默认执行此操作(例如Visual Studio定义WIN32)。

答案 2 :(得分:1)

您也可以在C ++中使用C预处理器 - 条件语法。

#ifdef linux
    //clear
#else
    //cls
#endif

答案 3 :(得分:0)