Udostępnij przez


We/Wy konsoli High-Level

Funkcje we/wy wysokiego poziomu zapewniają prosty sposób odczytywania strumienia znaków z danych wejściowych konsoli lub zapisywania strumienia znaków do danych wyjściowych konsoli. Operacja odczytu wysokiego poziomu pobiera znaki wejściowe z buforu wejściowego konsoli i przechowuje je w określonym buforze. Operacja zapisu wysokiego poziomu pobiera znaki z określonego buforu i zapisuje je w buforze ekranu w bieżącej lokalizacji kursora, przesuwając kursor, gdy każdy znak jest zapisywany.

Ogólne operacje we/wy umożliwiają wybór między funkcjami ReadFile i WriteFile oraz funkcjami ReadConsole i WriteConsole . Są identyczne, z wyjątkiem dwóch ważnych różnic. Funkcje konsoli obsługują używanie znaków Unicode lub znaków ANSI ustawionych za pomocą wariantów A i W każdej funkcji; funkcje we/wy pliku nie obsługują formatu Unicode z wyjątkiem zestawu UTF-8 ze stałą CP_UTF8 w funkcjach SetConsoleCP i SetConsoleOutputCP przed użyciem. Ponadto funkcje we/wy pliku mogą służyć do uzyskiwania dostępu do plików, potoków i urządzeń komunikacji szeregowej; funkcje konsoli mogą być używane tylko z dojściami konsoli. To rozróżnienie jest ważne, jeśli aplikacja korzysta ze standardowych dojść, które mogły zostać przekierowane.

W przypadku korzystania z dowolnego zestawu funkcji wysokiego poziomu aplikacja może kontrolować kolory tekstu i tła używane do wyświetlania znaków zapisanych w buforze ekranu z preferowanym mechanizmem za pośrednictwem sekwencji terminali wirtualnych. Aplikacja może również używać trybów konsoli, które mają wpływ na operacje we/wy konsoli wysokiego poziomu, aby włączyć lub wyłączyć następujące właściwości:

  • Echo danych wejściowych klawiatury do aktywnego buforu ekranu
  • Dane wejściowe wiersza, w których operacja odczytu nie jest zwracana do momentu naciśnięcia ENTER
  • Automatyczne przetwarzanie danych wejściowych klawiatury w celu obsługi powrotów karetki, CTRL+C i innych szczegółów wejściowych
  • Automatyczne przetwarzanie danych wyjściowych do obsługi zawijania wierszy, powrotów karetki, backspaces i innych szczegółów wyjściowych

Aby uzyskać więcej informacji, zobacz następujące tematy: