【发布时间】:2012-06-02 07:34:32
【问题描述】:
可能重复:
C/C++: Capture characters from standard input without waiting for enter to be pressed
char ch;
我想我想要一个角色。我知道两种不同的方式。
1- 在iostream头文件中使用cin命令。
cin >> ch;
它会等待用户输入一些东西,然后用户必须按回车将输入发送到 ch 变量。
2- conio.h 头文件中的 getch() 命令。
ch = _getch();
它会等待用户输入一些东西,只要输入一个字符,它就会保存在 ch 变量中,用户不需要按 enter。顺便说一句,此代码将停止程序并等待输入。
现在我想写一个不需要按回车的命令,它不会停止程序按下某些东西。想象一下我将程序延迟 1 秒,如果用户按下某些东西,它会将其保存到 ch 变量中,如果不是什么都没有,程序将继续并且不会因为按下某些东西而停止。它就像一个选择器命令,如果有东西它会选择它,如果没有它会继续。
希望我很清楚。那么该怎么做呢?
【问题讨论】:
-
您前段时间发布了一个类似的问题。您查看我建议的链接了吗?
-
所以如果用户按键,您想等待一定的时间还是提前继续?
-
这个问题的答案是特定于操作系统的,你还没有提到操作系统。
-
@BenVoigt,从
_getch()来看,我认为是 Windows。我不知道任何其他_getch()。 -
@chris:我同意,但我希望陌生人继续填写详细信息,而不是根据假设回答。