如何编写一个C++例程来检查我在键盘上按下了哪个键,以便我可以单独处理每个按键?
How to write a C++ routine which checks which key I've pressed on a keyboard so I can handle each key press separately?
我想了好几次这个问题,但我总是忘记问。那么我如何编写一个 C/C++ 例程来检查我按下了哪个键,以便在按下键后立即返回结果?如何在 视窗 ?如何在Linux中做到这一点?如果我使用 Dev-C++ 和 Code::Blocks,我应该包含哪些标头?
我试试这个:
#include <iostream>
#include <conio.h>
int main(void)
{
using namespace std ;
cout << "Press a key" << endl ;
char key ;
getch() >> key ;
cout << "nYou have pressed: " << key << endl ;
return 0 ;
}
但它没有告诉我我按下了什么键。如何获取键值?
您可以使用
<conio.h>
中的 getch()
函数,例如:
int c;
c = getch();
还有一个GetAsyncKeyState
功能:您可能会发现有用的 http://msdn.microsoft.com/en-us/library/windows/desktop/ms646293%28v=vs.85%29.aspx。
相关文章:
- 我可以使用哪种数据结构来处理这种方式
- 我可以让返回类型自动处理具有相同签名但捕获不同内容的 lambda 吗?
- 我可以自动处理继承 QObject 的仅标头对象吗?
- 我可以使用 std::optional 进行错误处理吗?
- 我有一个预处理的 C/C++ 源文件 (cacti.i).如何从这个 .i 文件生成可执行二进制文件,以便我可以像 ./
- 如何将 boost::beast 中的序列化数据转换为字符串,以便我可以以 FIFO 方式处理它?
- 我可以使用模板作为多态处理数组的安全解决方案
- 我可以为提升单元测试安装信号处理程序吗?
- 我的CPU/OS可以处理多少个线程
- 我可以在处理时保持编译器输出的格式
- 我可以使用stackful协程作为steady_timer的等待处理程序吗?steady_imer是在非常stackfu
- 我可以将类作为C 中的对象处理
- 我可以知道qnetworkAccessManager是否完成了所有HTTP请求的处理
- 我可以/应该使用 std::exception's 进行常规错误处理吗?
- 如何编写一个C++例程来检查我在键盘上按下了哪个键,以便我可以单独处理每个按键?
- 是一个C++字符串类,我可以用来处理 UTF8 字符串
- 我可以将处理后的视频输出从 PC 上的 OpenCV 流式传输到安卓平板电脑吗?
- 我可以为抛出bad_cast的情况安装一个自定义处理程序吗
- 我可以获得未处理(目标)C++异常的堆栈跟踪吗
- 我可以处理一个isstrstream来获得对底层I /o缓冲区的随机搜索吗?