Składnia
#include <windows.h>
BOOL WINAPI WriteConsoleOutput(
HANDLE hConsoleOutput,
const CHAR_INFO * lpBuffer,
COORD dwBufferSize,
COORD dwBufferCoord,
PSMALL_RECT lpWriteRegion
);
Argumenty
Zwracana wartość
Jeśli nie wystąpią błędy, zwracana wartość jest niezerowa, inaczej 0. Aby uzyskać szczegółowe informacje o błędzie, wywołaj funkcję
GetLastError.
Dodatkowe informacje
Funkcja traktuje bufor źródłowy i bufor docelowy jako dwuwymiarowe tablice. Prostokąt wskazywany przez wartość argumentu
lpWriteRegion określa rozmiar i lokalizację bloku danych do zapisania w buforze ekranu konsoli. Prostokąt o tych samych rozmiarach jest umieszczony w tablicy
lpBuffer (lewa górna komórka ma współrzędne zawarte w argumencie
dwBufferCoord). Dane z komórek, które są wspólne dla tego prostokąta i prostokąta bufora źródłowego (którego rozmiary są określone przez wartośc argumentu
dwBufferSize) są zapisywane do docelowego prostokąta. Komórki w docelowym prostokącie, które znajdują się poza granicami bufora źródłowego nie zostaną zmienione (żadne dane bufora ekranu nie są dla nich dostępne do zapisania). Przed zwróceniem wartości przez tą funkcję składowe struktury wskazywanej przez argument
lpWriteRegion są ustawiane na aktualny prostokąt bufora ekranu. Ten prostokąt pokazuje komórki w docelowym buforze, dla których istnieją odpowiednie komórki w buforze źródłowym. Funkcja obcina wymiary docelowego prostokąta do granic bufora ekranu konsoli. Jeśli cały obszar prostokąta określonego przez
lpWriteRegion znajduje się poza granicami bufora ekranu konsoli lub jeśli prostokąt jest umieszczony poza granicami bufora źródłowego, żadne dane nie zostaną zapisane. W tym przypadku funkcja zakończy swoje działanie ze składowymi struktury wskazywanej przez argument
lpWriteRegion ustawionych w taki sposób, że składowa
Right będzie mniejsza od składowej
Left lub składowa
Bottom będzie mniejsza od składowej
Top. Aby określić rozmiar bufora ekranu konsoli, wywołaj funkcję
GetConsoleScreenBufferInfo. Ta funkcja nie zmienia pozycji kursora bufora ekranu konsoli. Ta funkcja używa 8-bitowych znaków Unicode z obecnej strony kodowej konsoli. Domyślna strona kodowa jest stroną kodową OEM. Do zmiany strony kodowej służą funkcje
SetConsoleCP oraz
SetConsoleOutputCP. Można również użyć polecenia
chcp
lub
mode con cp select=id_strony_kodowej
.
Wymagania
Linki zewnętrzne