【问题标题】:How should i stop a C loop at a user input我应该如何在用户输入时停止 C 循环
【发布时间】:2019-11-17 09:46:29
【问题描述】:

我正在做一个项目,我需要实现一个循环来运行并执行一个函数 (foo),直到用户输入任何输入

我已经尝试了一些实现,但都没有奏效 (我知道 getchar 不适合此操作) 例如:

while(1)
{
    foo();       //Just a dummy function
    if(getchar())//If the user didn't enter an input keep on running
    {
        break;
    }
}

我希望循环在用户输入任何类型的输入时继续运行并中断。

【问题讨论】:

  • @Someprogrammerdude 但我们总是可以编写我们需要的。即使它需要编写内核驱动程序
  • MSVC 具有扩展名kbhit(),尽管它特定于键盘,而不是“任何类型的输入”。我一直对弱且 IMO 几乎没用的标准功能 getchar() 感到失望。你也可以使用fgets()getchar() 的可怕实现方式引发了大量问题。

标签: c for-loop input while-loop do-while


【解决方案1】:

如果你在 Windows 上,你可能会有 kbhit() 函数。如果您使用的是 Linux,请阅读以下内容:Using kbhit() and getch() on Linux

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    • 2018-10-19
    • 2020-01-14
    • 2015-12-25
    • 1970-01-01
    • 1970-01-01
    • 2013-07-08
    相关资源
    最近更新 更多