我知道有std::cin,但这需要用户输入一个字符串,然后按ENTER键.有没有办法简单地获得推送的下一个键,而无需按ENTER确认
我试图用C语言编写一个程序,它处于一个恒定的循环中,但我需要能够在每个循环开始时从键盘接收输入,或者如果没有按下键则继续.
getchar()和_getch()都不够,因为它们都在等待输入.如果有人知道类似于_getch但不等待输入的函数,那将非常感激.
在这段代码中:
char ch;
while(cin.get(ch))
{
std::cerr<<"got ch:"<<ch<<std::endl;
}
Run Code Online (Sandbox Code Playgroud)
为什么我必须在屏幕上打印"got ch:"之前按Enter键?
有没有办法让字符在键入后立即回显?
我知道如何使用事件来测试按键的位置,但在C中我从未发现如何做到这一点.
我真正想要的是一个听取上,下,左,右键的Keylistener.我需要它在Linux中工作,所以没有Windows库.如果可能的话,不使用第三方库对我来说是最好的选择.
int main(){
//关键监听器{
// if(key == up){//做某事}
// if(key == down){//做某事}
// if(key == left){//做某事}
// if(key == right){//做某事}
//}
}
在一个程序中,它接受一个字符并打印等效的ASCII值.
空格键的ASCII值为:'32'.
但如果我按空格键然后按回车键,程序仍然等待输入,并且不会识别空格键字符.
#include <iostream>
using namespace std;
int main()
{
char ch;
cout << "Enter the character: ";
cin >> ch;
cout << "ASCII code is: " <<(int)ch << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)