C++ 控制台获取按键,不带windows消息c++;

C++ 控制台获取按键,不带windows消息c++;,c++,console,keypress,C++,Console,Keypress,是否有任何方法可以在不使用Windows消息或std::cin流的情况下在控制台中获取最后一次按键?我听说标准库中有一个函数。解决方案最好尽可能便于携带。提前感谢您的帮助。有,但不是技术标准。在Linux上,我的第一次谷歌点击表明。有,但它不是技术标准。在Linux上,我的第一次谷歌点击表明。不是真正的可移植性,但您可以使用GetAsyncKeyState访问当前密钥状态,甚至可以从windows下的控制台应用程序访问。 更为技术性的,同样针对windows的,是使用SetWindowsHook

是否有任何方法可以在不使用Windows消息或std::cin流的情况下在控制台中获取最后一次按键?我听说标准库中有一个函数。解决方案最好尽可能便于携带。提前感谢您的帮助。

有,但不是技术标准。在Linux上,我的第一次谷歌点击表明。

有,但它不是技术标准。在Linux上,我的第一次谷歌点击表明。

不是真正的可移植性,但您可以使用GetAsyncKeyState访问当前密钥状态,甚至可以从windows下的控制台应用程序访问。 更为技术性的,同样针对windows的,是使用SetWindowsHookEx将键盘挂接到系统中的回拨中,该回拨只存储最后按下的键


但您的基本问题是:控制台+可移植性-似乎暗示cin是您的最佳选择-您需要cin不提供的什么?

不是真正的可移植性,但您可以使用GetAsyncKeyState访问当前密钥状态,甚至可以从windows下的控制台应用程序访问。 更为技术性的,同样针对windows的,是使用SetWindowsHookEx将键盘挂接到系统中的回拨中,该回拨只存储最后按下的键


但您的基本问题是:控制台+可移植性-似乎暗示cin是您的最佳选择-您需要cin不提供的哪些功能?

您是否考虑过使用类似pdcurses的curses库?据我所知,这是唯一一个可以进行控制台管理的跨平台库。

您是否考虑过使用类似pdcurses的curses库?这是我所知道的唯一一个可以进行控制台管理的跨平台库。

您是否关心最后一个字符或最后一次按键(例如,包括shift、control和箭头键等修改器)?如果是按键,那么你的便携性就很差了。你是否关心最后一个字符或最后一个按键(例如包括shift、control和箭头键等修改器)?如果是按键的话,那么你的便携性就很差了。