Megosztás:


Bemeneti és kimeneti módszerek

A konzol I/O-jának két különböző megközelítése van, amelyek kiválasztása attól függ, hogy az alkalmazásnak mekkora rugalmasságra és vezérlésre van szüksége. A magas szintű megközelítés lehetővé teszi az egyszerű karakterstream I/O-t, de korlátozza a konzol bemeneti és képernyőpuffereihez való hozzáférést. Az alacsony szintű megközelítés megköveteli, hogy a fejlesztők több kódot írjanak, és a függvények nagyobb köre közül válasszanak, de nagyobb rugalmasságot is biztosítanak az alkalmazások számára.

Megjegyzés:

Az alacsony szintű megközelítés nem ajánlott az új és folyamatban lévő fejlesztéshez. Az alacsony szintű konzol I/O-függvényeiből működésre szoruló alkalmazások számára ajánlott virtuális terminálütemezéseket használni, és megismerni a klasszikus függvényekkel és a virtuális terminállal és az ökoszisztéma ütemtervével kapcsolatos dokumentációnkat.

Az alkalmazások használhatják az I/O-függvényeket, a ReadFile és a WriteFile fájlt, valamint a ReadConsole és a WriteConsole konzolfüggvényeket a magas szintű I/O-hoz, amely közvetett hozzáférést biztosít a konzol bemeneti és képernyőpuffereihez. A magas szintű bemeneti függvények szűrik és feldolgozzák a konzol bemeneti pufferében lévő adatokat, hogy a bemenetet karakterfolyamként, az egér elvetésével és a puffer átméretezésével adja vissza. Hasonlóképpen, a magas szintű kimeneti függvények olyan karakterfolyamot írnak, amely egy képernyőpuffer aktuális kurzorhelyén jelenik meg. Az alkalmazások a konzol I/O-módjának beállításával vezérlik a függvények működését.

Az alacsony szintű I/O-függvények közvetlen hozzáférést biztosítanak a konzol bemeneti és képernyőpuffereihez, lehetővé téve az alkalmazások számára, hogy hozzáférjenek az egér- és puffer-átméretezési bemeneti eseményekhez, valamint a billentyűzetesemények kibővített információihoz. Az alacsony szintű kimeneti függvények lehetővé teszik az alkalmazások számára, hogy egy képernyőpuffer adott számú egymást követő karaktercellájából olvassanak vagy írjanak, vagy hogy a képernyőpuffer egy megadott helyén lévő karaktercellák négyszögletes blokkjaiba olvassanak vagy írjanak. A konzol bemeneti módjai befolyásolják az alacsony szintű bemenetet, ha lehetővé teszik az alkalmazás számára annak megállapítását, hogy az egér- és puffer-átméretezési események a bemeneti pufferbe kerülnek-e. A konzol kimeneti módjai nem befolyásolják az alacsony szintű kimenetet.

A magas szintű és az alacsony szintű I/O-metódusok nem zárják ki egymást, és az alkalmazások ezen függvények bármilyen kombinációját használhatják. Az alkalmazások azonban általában kizárólag az egyik vagy a másik megközelítést használják, és azt javasoljuk, hogy az optimális eredmények érdekében egy adott paradigmára összpontosítsunk.

Jótanács

Az ideális előremutató alkalmazás a magas szintű módszerekre összpontosít, és további igényeket egészít ki virtuális terminálütemezésekkel a magas szintű I/O-módszerekkel, ha szükséges, elkerülve az alacsony szintű I/O-függvények teljes használatát.

Az alábbi témakörök a konzol módokat, valamint a magas szintű és alacsony szintű I/O-függvényeket ismertetik.