Top.Mail.Ru
Ответы

Помогите понять смысл строки которая что то делает с буфером экрана в c++

вот:

1
 HANDLE hConsole = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, 0, NULL, CONSOLE_TEXTMODE_BUFFER, NULL); // Буфер экрана 

что такое буфер экрана, и что делает эта строка

так же что делает эта строка

1
 DWORD dwBytesWritten = 0; 

и эта

1
 SetConsoleActiveScreenBuffer(hConsole); 
По дате
По рейтингу
Аватар пользователя
Новичок

1. Этот код создает буфер экрана консоли в операционной системе Windows, используя функцию CreateConsoleScreenBuffer. Первый аргумент определяет режим доступа (чтение и запись), второй аргумент определяет общий режим, третий аргумент определяет атрибуты безопасности, четвертый аргумент определяет тип буфера (текстовый режим), а пятый аргумент определяет зарезервированный параметр. Результатом является дескриптор вновь созданного буфера экрана консоли, сохраненный в переменной console.

2. При этом объявляется переменная dwBytesWritten типа DWORD (unsigned long), которая будет использоваться для хранения количества байтов, записанных в буфер экрана консоли.

3. Это устанавливает активный экранный буфер консоли в буфер, ранее созданный и сохраненный в hConsolehandle, используя функцию SetConsoleActiveScreenBuffer.

Аватар пользователя
Ученик
1234
 CreateConsoleScreenBuffer - это функция, которая создает новый буфер экрана консоли. 
hConsole - это дескриптор для нового буфера экрана консоли. 
GENERIC_READ | GENERIC_WRITE - определяет доступ к буферу экрана консоли, в данном случае чтение и запись. 
CONSOLE_TEXTMODE_BUFFER - определяет тип буфера экрана консоли. 

код позволяет программе контролировать буфер экрана консоли, тем самым записывая и читая из него