ReadConsoleInput
считывает данные из входного буфера консоли и удаляет их оттуда.
BOOL ReadConsoleInput( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead );
GENERIC_READ
.lpBuffer
, которое необходимо получить.В случае успеха возвращается ненулевое значение.
Если функция завершается неудачно, возвращается ноль.
Для получения дополнительной информации вызывайте функцию GetLastError
.
Если число записей, запрашиваемых параметром nLength
превышает число записей,
доступных в буфере, будут считаны только доступные. Функция не возвращает
управление, пока хоть одна запись не будет прочитана.
Процесс может указать описатель входного буфера консоли в одной из функций ожидания для определения присутствия непрочитанного консольного ввода. Когда входной буфер не пуст, объект входной буфер консоли становится свободным.
Для определения числа непрочитанных сообщений во входном буфере используйте функцию GetNumberOfConsoleInputEvents. Для чтения сообщений без их удаления из буфера используйте PeekConsoleInput. Для удаления всех сообщений из входного буфера используйте функцию FlushConsoleInputBuffer.
chcp
или mode con cp select=
.