Sdílet prostřednictvím


Metody vstupu a výstupu

Existují dva různé přístupy ke vstupně-výstupním operacím konzoly, což závisí na tom, kolik flexibility a řízení potřeb aplikace. Přístup vysoké úrovně umožňuje vstupně-výstupní vstupně-výstupní operace datového proudu jednoduchých znaků, ale omezuje přístup ke vstupním pamětím konzoly a vyrovnávací paměti obrazovky . Přístup na nízké úrovni vyžaduje, aby vývojáři napsali více kódu a zvolili si z větší řady funkcí, ale zároveň dává aplikaci větší flexibilitu.

Poznámka:

Pro nový a průběžný vývoj se nedoporučuje přístup nízké úrovně. Aplikacím, které potřebují funkce z vstupně-výstupních funkcí konzoly nízké úrovně, se doporučuje používat sekvence virtuálních terminálů a prozkoumat naši dokumentaci k klasickým funkcím aplánu ekosystému.

Aplikace může používat funkce vstupně-výstupních operací souborů, ReadFile a WriteFile a konzolové funkce ReadConsole a WriteConsole pro vstupně-výstupní operace vysoké úrovně, které poskytují nepřímý přístup ke vstupním a vyrovnávacím pamětím obrazovky konzoly. Vstupní funkce vysoké úrovně filtrují a zpracovávají data ve vstupní vyrovnávací paměti konzoly, aby vrátila vstup jako datový proud znaků a zahodí vstup myši a změny velikosti vyrovnávací paměti. Podobně výstupní funkce vysoké úrovně zapisují datový proud znaků, které se zobrazují v aktuálním umístění kurzoru v vyrovnávací paměti obrazovky. Aplikace řídí způsob fungování těchto funkcí nastavením režimů vstupně-výstupních operací konzoly.

Vstupně-výstupní funkce nízké úrovně poskytují přímý přístup ke vstupním pamětím konzoly a vyrovnávací paměti obrazovky, což aplikaci umožňuje přístup k událostem vstupu myši a změně velikosti vyrovnávací paměti a rozšířené informace pro události klávesnice. Výstupní funkce nízké úrovně umožňují aplikaci číst nebo zapisovat do zadaného počtu po sobě jdoucích buněk znaků ve vyrovnávací paměti obrazovky nebo číst nebo zapisovat do obdélníkových bloků buněk znaků v zadaném umístění v vyrovnávací paměti obrazovky. Režimy vstupu konzoly ovlivňují vstup nízké úrovně tím, že aplikaci umožní určit, zda jsou události změny velikosti myši a vyrovnávací paměti umístěny do vstupní vyrovnávací paměti. Režimy výstupu konzoly nemají žádný vliv na výstup nízké úrovně.

Metody vstupně-výstupních operací vysoké a nízké úrovně se vzájemně nevylučují a aplikace může používat libovolnou kombinaci těchto funkcí. Aplikace ale obvykle používá jeden nebo druhý výhradně a doporučujeme zaměřit se na jedno konkrétní paradigma pro optimální výsledky.

Tip

Ideální aplikace s výhledem se zaměří na metody vysoké úrovně a rozšíří další potřeby o sekvence virtuálních terminálů prostřednictvím metod vstupně-výstupních operací vysoké úrovně, pokud je to nezbytné, aby se zcela zabránilo použití vstupně-výstupních funkcí nízké úrovně.

Následující témata popisují režimy konzoly a základní a nízkoúrovňové vstupně-výstupní funkce.