Megosztás:


High-Level konzol I/O-címe

A magas szintű I/O-függvények egyszerűen beolvashatók egy karakterfolyamból a konzol bemenetéből, vagy egy karakterfolyamot írhatnak a konzol kimenetére. A magas szintű olvasási művelet beolvassa a bemeneti karaktereket a konzol bemeneti pufferéből, és egy megadott pufferben tárolja őket. A magas szintű írási művelet egy adott pufferből veszi át a karaktereket, és egy képernyőpufferbe írja őket az aktuális kurzor helyén, és az egyes karakterek írása közben előrehalad a kurzor felé.

A magas szintű I/O választást biztosít a ReadFile és a WriteFile függvény, valamint a ReadConsole és a WriteConsole függvény között . Ezek azonosak, kivéve két fontos különbséget. A konzolfüggvények támogatják a Unicode-karakterek vagy az egyes függvények A és W variánsain keresztül beállított ANSI-karakterek használatát; a fájl I/O-függvényei nem támogatják a Unicode-ot, kivéve az UTF-8-et, amely a CP_UTF8SetConsoleCP és a SetConsoleOutputCP függvények konstansával rendelkezik használat előtt. A fájl I/O-függvényei fájlok, csövek és soros kommunikációs eszközök elérésére is használhatók; a konzolfüggvények csak konzolfogópontokkal használhatók. Ez a megkülönböztetés akkor fontos, ha egy alkalmazás olyan szabványos leírókra támaszkodik, amelyeket esetleg átirányítottak.

A magas szintű függvények bármelyikének használatakor az alkalmazás szabályozhatja a szöveg és a háttérszínek használatát, amelyek a később képernyőpufferbe írt karakterek megjelenítésére szolgálnak, és az előnyben részesített mechanizmus a virtuális terminálütemezések. Az alkalmazások a magas szintű konzol I/O-t befolyásoló konzolmódokat is használhatják a következő tulajdonságok engedélyezéséhez vagy letiltásához:

  • Az aktív képernyőpuffer billentyűzetbemenetének visszhangja
  • Vonalbemenet, amelyben az olvasási művelet csak az ENTER billentyű lenyomása után tér vissza
  • A billentyűzetbemenet automatikus feldolgozása a kocsivisszaadások, a CTRL+C és egyéb bemeneti adatok kezeléséhez
  • A kimenet automatikus feldolgozása a sorburkolás, a kocsivisszaadások, a háttérterek és az egyéb kimeneti adatok kezeléséhez

További információkért tekintse meg a következő témaköröket: