Share via


高レベル コンソール I/O

高レベル I/O 関数を使用すると、簡単にコンソール入力から文字のストリームを読み取ったり、文字のストリームをコンソール出力に書き込んだりできます。 高レベルの読み取り操作では、コンソールの入力バッファーから入力文字を取得し、指定されたバッファーに格納します。 高レベルの書き込み操作では、指定されたバッファーから文字を受け取り、現在のカーソル位置にあるスクリーン バッファーに書き込み、各文字が書き込まれるとカーソルが進みます。

高レベル I/O では、ReadFile 関数と WriteFile 関数とReadConsole 関数と WriteConsole 関数のどちらかを選択できます。 2 つの重要な違いを除き、これらは同じです。 コンソール関数は、各関数の A および W バリアントを使用した Unicode 文字または ANSI 文字セットの使用をサポートします。ファイル I/O 関数は、使用する前に SetConsoleCP 関数と SetConsoleOutputCP 関数の CP_UTF8 定数で設定された UTF-8 を除き、Unicode をサポートしていません。 また、ファイル I/O 関数を使用して、ファイル、パイプ、およびシリアル通信デバイスにアクセスできます。コンソール関数は、コンソール ハンドルでのみ使用できます。 この区別は、アプリケーションがリダイレクトされた可能性がある標準ハンドルに依存している場合に重要です。

いずれかの高レベルの関数のセットを使用する場合、アプリケーションは、仮想ターミナル シーケンスを介して優先メカニズムを使用して、後でスクリーン バッファーに書き込まれた文字を表示するために使用されるテキストと背景色を制御できます。 アプリケーションでは、高レベルのコンソール I/O に影響するコンソール モードを使用して、次のプロパティを有効または無効にすることもできます。

  • アクティブなスクリーン バッファーへのキーボード入力のエコー
  • Enter キーが押されるまで読み取り操作が戻らない行入力
  • 復帰、Ctrl+C、およびその他の入力の詳細を処理するためのキーボード入力の自動処理
  • 行の折り返し、復帰、バックスペース、およびその他の出力の詳細を処理する出力の自動処理

詳細については、次のトピックを参照してください。