代码之家  ›  专栏  ›  技术社区  ›  user

C++替换系统(“暂停”)调用

  •  1
  • user  · 技术社区  · 14 年前

    我读到了 system("pause") 速度慢,不宜使用。
    有什么功能可以代替它吗?
    我试过了 getchar() 但是如果我有 scanf 调用之前,它只是不等待其他输入,仅当我将其他输入 GETCHARE() 在它下面(但我认为这不是一个好的解决办法)。

    编辑:我正在使用Microsoft Visual Studio 2010

    4 回复  |  直到 14 年前
        1
  •  2
  •   Amber    14 年前

    我试过getchar(),但如果我有 之前的scanf调用,它只是没有 等待其他输入

    确保在调用输入缓冲区之前清空它;否则它可能会获取已经在缓冲区中的键(例如,换行符…)。

        2
  •  0
  •   Kristina    14 年前

    你试过了吗?

    • 睡觉 (int时间);
    • 格奇 ();
        3
  •  0
  •   ChrisV    14 年前

    _getch() 从Conio.h应该证明是一个足够的替代品。

        4
  •  0
  •   Drew Hall    14 年前

    system("pause") 调用被一些IDE插入到自动生成的代码中(流血DEV C++),因为当从IDE运行代码时,弹出的控制台窗口是短暂的,一旦程序完成就消失。

    解决方案是不要从IDE运行代码——而是打开一个真正的控制台窗口,一旦程序终止,您仍然可以读取它的输出。