Это действительно зависит от платформы.
Если это для Windows, самый прямой доступ к «буферу клавиатуры» использует WM_INPUT и GetRawInputData.См. Использование необработанного ввода с примером для клавиатуры и мыши .
Другим специфическим способом для DOS / Windows являются conio.h функции getch ()/ kbhit ().
Переносимая библиотека называется Curses и имеет порты как для Linux, так и для Windows.
Однако, поскольку вы ориентируетесь на довольно специфические ОС, вам необходимопроверьте документы для этой ОС.
Наиболее прямой независимый от платформы способ - это getchar / scanf / что-либо, что читает из stdin, но stdin буферизуется строкой, поэтому выне получит никаких данных, пока не будет нажата кнопка ввода.Вы можете изменить настройки буферизации, но, опять же, это зависит от платформы и может оказаться невозможным на некоторых платформах.См. Соответствующее обсуждение setbuf (stdin, NULL) .