【问题标题】:how to check if the OS is Windows or Debian in c++?如何在 c++ 中检查操作系统是 Windows 还是 Debian?
【发布时间】:2010-04-01 02:20:15
【问题描述】:

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

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

谢谢。

【问题讨论】:

  • 如果你不想使用 ifdefs,你可以同时使用它们。
  • @sisis:但这会将错误转储到命令提示符。

标签: c++ windows linux


【解决方案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
      

      【讨论】:

        猜你喜欢
        • 2011-04-23
        • 2019-02-02
        • 2013-06-28
        • 2011-02-13
        • 2010-09-16
        • 2011-08-22
        • 2011-02-13
        • 1970-01-01
        • 2012-08-16
        相关资源
        最近更新 更多