Код работает в g++(14.2.0), но clang++(19.1.1) в Ubuntu 24.10. >
При нажатии клавиши со стрелкой ВВЕРХ
- получится вывод 1b 5b 41, если он скомпилирован с помощью g++ -std=c++23 rawkey.cpp. Это правильно.
- получите вывод 1b, если скомпилировать его с помощью clang++ -std=c++23 -stdlib=libc++ rawkey. cpp
#include
#include
#include
using namespace std;
void get_raw_key()
{
auto buf = cin.rdbuf();
vector keys;
string endline("\r\n");
auto pump_buf = [&]() {
cerr sbumpc()); // buf->sgetc() buf->sbumpc() getchar() cin.get()
while (buf->in_avail() > 0)
keys.push_back(buf->sbumpc());
};
auto dump_key = [&]() {
stringstream str;
for (const auto num : keys)
str
Подробнее здесь: https://stackoverflow.com/questions/793 ... ween-g-and
Мобильная версия