【发布时间】:2014-11-21 20:57:45
【问题描述】:
如果用户输入多个字符,我将使用while(getchar()!= '\n'); 清除缓冲区。
如果输入了多个字符,程序不会卡住。但是,如果输入一个字符,程序会等待我按 Enter 继续。即使只输入一个字符,我怎样才能让它继续? 感谢您提供的任何帮助!
【问题讨论】:
-
在这里发布你的代码 sn-p 总是好的,而不是理论上的解释..
如果用户输入多个字符,我将使用while(getchar()!= '\n'); 清除缓冲区。
如果输入了多个字符,程序不会卡住。但是,如果输入一个字符,程序会等待我按 Enter 继续。即使只输入一个字符,我怎样才能让它继续? 感谢您提供的任何帮助!
【问题讨论】:
您可以在提交读取之前检查键盘缓冲区
while (kbhit()) getch();
【讨论】:
kbhit() 不是标准的,可能不可用。
kbhit() 的 SO 答案被给予 +4 并打勾,但我投了反对票。 stackoverflow.com/questions/15603082/…
kbhit() 通常不可用。