如何检查操作系统是Windows或Debian的C + +?

每次用户使用C ++进行input时,我都想清除控制台屏幕。

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

谢谢。

有一个技巧解决方案:

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

对于Unix,它只是正常工作。 对于Windows,它会提示一个错误

“清除”不被识别为内部或外部命令,可操作程序或批处理文件。

虽然它现在会被“cls”清除。 所以在命令提示符窗口中,它不会留下任何痕迹。 :d

不,没有一个C ++标准的方法来做到这一点。

你可以指示你的windows编译器定义WINDOWS宏和你的linux编译器来定义LINUX宏; 有些编译器默认是这样做的(例如Visual Studio定义了WIN32 )。

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

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

我以前见过这个:

如何使用C ++在Windows和Linux中清除控制台