Я пытаюсь создать программу, в которой пользователи вводят информацию, а программа читает ее по символам. Я пытаюсь использовать SetConsoleMode для смены консоли. Я понимаю, что мне нужно установить ENABLE_PROCESSED_INPUT, но когда он установлен, клавиши со стрелками не работают. Кроме того, для распознавания клавиши ввода требуется ввод другой клавиши. Как исправить это на windows?
HANDLE hStdin = GetStdHandle(STD_INPUT_HANDLE);
DWORD mode = 0;
GetConsoleMode(hStdin, &mode);
SetConsoleMode(hStdin, mode & ~(ENABLE_LINE_INPUT | ENABLE_ECHO_INPUT) | ENABLE_PROCESSED_INPUT);
int c = getchar();
SetConsoleMode(hStdin, mode);
return c;
Для пояснения, я захватываю SIGINT из ctrl- c где-то еще, поэтому мне нужна консоль для отправки сигнала.