【问题标题】:How do I keep open the console?如何保持打开控制台?
【发布时间】:2013-01-15 23:43:56
【问题描述】:

我试过这个:

main() {
    int a;
    cout << "Enter a number: ";
    cin >> a;
    cout << a;
    cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
    return 0;
}

但是没有用。

【问题讨论】:

  • std::cin.get();
  • 在调用ignore之前缓冲区中有一个换行符。
  • 你是如何运行你的代码的?
  • @chris 以及如何清理缓冲区?
  • 只要在return 0;上放一个断点!

标签: c++ c console


【解决方案1】:

您无需为此修改源代码。当您使用 exit() 或 abort() 从其他地方退出程序时,这往往很烦人。大多数 IDE 都可以选择保持控制台打开。您是否有机会使用 Dev-C++?它有一个暂停控制台的选项。您可以在环境设置中找到该选项。除非你使用的是 Bloodshed 的过时版本的 Dev-C++。如果是这样,你应该更新到奥威尔版本:http://orwelldevcpp.blogspot.com

【讨论】:

    【解决方案2】:

    最简单的方法是简单地放置:

    system("PAUSE");
    

    无论您希望暂停在哪里(在您的情况下,在上面的行中返回 0;)

    但是,由于存在许多安全问题,大多数人会认为使用 system 是不好的做法。相反,请尝试使用:

    cin.get();
    

    【讨论】:

      【解决方案3】:

      我一直很喜欢使用:

      std::cout << "Paused. Press Enter to continue.";
      std::cout.flush();
      std::cin.ignore(100000, '\n');
      

      【讨论】:

        猜你喜欢
        • 2013-06-01
        • 1970-01-01
        • 2014-04-20
        • 1970-01-01
        • 2010-12-26
        • 1970-01-01
        • 2010-10-02
        • 2011-07-01
        • 2016-02-12
        相关资源
        最近更新 更多