Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Hasło nie zostało zweryfikowane
Niniejsze hasło zostało opracowane, jednak nie zostało ono zweryfikowane przez administrację serwisu. Jeżeli znalazłeś błędy merytoryczne w niniejszym dokumencie, prosimy o ich zgłoszenie na forum w dziale Znalezione błędy.
Opracował: jankowalski25
Biblioteki C/C++

ReadConsole

[funkcja] Odczytuje znaki wejściowe z bufora wejścia konsoli, a następnie usuwa je z tego bufora.

Składnia

C/C++
#include <windows.h>

BOOL WINAPI ReadConsole( HANDLE hConsoleInput, LPVOID lpBuffer, DWORD nNumberOfCharsToRead, LPDWORD lpNumberOfCharsRead, LPVOID pInputControl );

Argumenty

ArgumentOpis
hConsoleInputUchwyt do bufora wejściowego konsoli. Uchwyt musi mieć dostęp GENERIC_READ.
lpBufferWskaźnik do bufora pobierającego dane odczytywane z bufora wejściowego konsoli. Miejsce w pamięci na ten bufor jest alokowane na stercie dla procesu zajmującego 64 KB pamięci. Maksymalny rozmiar bufora zależy od użycia sterty.
nNumberOfCharsToReadLiczba znaków do odczytania. Rozmiar bufora wskazywanego przez argument lpBuffer powinien wynosić
nNumberOfCharsToRead * sizeof( TCHAR )
 bajtów.
lpNumberOfCharsReadWskaźnik do zmiennej pobierającej liczbę odczytanych znaków.
pInputControlWskaźnik do struktury CONSOLE_READCONSOLE_CONTROL określającej znaki sterujące do oznaczenia końca operacji odczytywania. Wartość tego argumentu może wynosić NULL. Ten argument wymaga domyślnie znaków wejściowych zapisanych w formacie Unicode. Aby użyć trybu ASCII, ustaw jego wartość na NULL.

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ę » WinAPIGetLastError.

Dodatkowe informacje

Funkcja odczytuje wejście klawiatury z bufora wejściowego konsoli. To zachowanie (podobne do funkcji ReadFile) wyjątkowo może odczytać znaki w formacie Unicode (znaki szerokie) lub znaki w trybie ANSI. Aby programy zachowywały się tak samo w obu trybach, wywołaj tą funkcję zamiast ReadFile. Jednak ta funkcja może być używana tylko z uchwytem do bufora wejściowego konsoli, natomiast funkcja ReadFile może być wykorzystana z innymi uchwytami (takimi jak pliki). Ta funkcja zakończy się z błędem, jeśli zostanie użyta z innym uchwytem, niż do konsoli. Wszystkie tryby wejściowe powodują, że zachowanie funkcji będzie identyczne z ReadFile. Do pobierania i ustawiania trybów bufora wejściowego konsoli służą funkcje » WinAPIGetConsoleMode oraz SetConsoleMode. Jeśli bufor wejściowy zawiera zdarzenia wejściowe, które nie obsługują klawiatury (takie, jak zdarzenia myszy czy zmiany rozmiaru okna), to będą one pomijane. Takie zdarzenia mogą być odczytane tylko przez funkcję ReadConsoleInput. 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 » WinAPISetConsoleCP oraz » WinAPISetConsoleOutputCP. Można również użyć polecenia
chcp
 lub
mode con cp select=id_strony_kodowej[/code.] Argument [tt]pInputControl[/tt] może być wykorzystany do włączenia pośrednich sygnałów w odpowiedzi na znak sterowania kończący plik zdefiniowany w strukturze [tt]CONSOLE_READCONSOLE_CONTROL[/tt]. Ta cecha wymaga włączenia rozszerzonego wiersza poleceń, ustawienia standardowego uchwytu wyjściowego na uchwyt do konsoli i wejścia w trybie Unicode. Odczyt pośredni nie jest dostępny w systemach Windows Server 2003, Windows XP oraz Windows 2000.
[h1]Wymagania[/h1]
[csv]Minimalny system klienta;Windows 2000 Professional (tylko aplikacje biurowe).;
Minimalny system serwera;Windows 2000 Server (tylko aplikacje biurowe).;
Nagłówek;Wincon.h (dołącza Windows.h);
Biblioteka;Kernel32.lib;
DLL;Kernel32.dll;
UNICODE;ReadConsoleW;
ANSI;ReadConsoleA;
[/csv]

Linki zewnętrzne