ReadConsoleOutputCharacter 関数

重要

このドキュメントでは、エコシステム ロードマップの一部ではなくなったコンソール プラットフォームの機能について説明します。 このコンテンツを新しい製品で使用することはお勧めしませんが、今後も既存の使用をサポートし続けます。 推奨される最新のソリューションでは、クロスプラットフォーム シナリオでの互換性を最大限に高める仮想ターミナル シーケンスに重点を置いています。 この設計決定の詳細については、クラシック コンソールと仮想ターミナルのドキュメントを参照してください。

指定した位置から始まる、コンソール スクリーン バッファーの連続するセルから文字数をコピーします。

構文

BOOL WINAPI ReadConsoleOutputCharacter(
  _In_  HANDLE  hConsoleOutput,
  _Out_ LPTSTR  lpCharacter,
  _In_  DWORD   nLength,
  _In_  COORD   dwReadCoord,
  _Out_ LPDWORD lpNumberOfCharsRead
);

パラメーター

hConsoleOutput [in]
コンソール画面バッファーのハンドル。 ハンドルには、GENERIC_READ アクセス権があります。 詳細については、「コンソール バッファーのセキュリティとアクセス権」を参照してください。

lpCharacter [out]
コンソール スクリーン バッファーから読み取られた文字を受信するバッファーへのポインター。

nLength [in]
読み取り元のスクリーン バッファー文字セルの数。 lpCharacter パラメーターが指すバッファーのサイズは nLength * sizeof(TCHAR) である必要があります。

dwReadCoord [in]
読み取り元のコンソール スクリーン バッファー内の最初のセルの座標 (文字単位)。 COORD 構造体の X メンバーは列であり、Y メンバーは行です。

lpNumberOfCharsRead [out]
実際に読み込まれた文字数を受け取る変数のポインター。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

読み込む文字数が指定されたスクリーン バッファー行の末尾を超える場合、文字は次の行に読み込まれます。 読み込む文字数がコンソール スクリーン バッファーの末尾を超える場合は、コンソール スクリーン バッファーの末尾まで文字が読み込まれます。

この関数では、Unicode 文字またはコンソールの現在のコード ページの 8 ビット文字が使用されます。 コンソールのコード ページには、最初はシステムの OEM コード ページが既定で設定されます。 コンソールのコード ページを変更するには、SetConsoleCP または SetConsoleOutputCP 関数を使用します。 従来のユーザーは、chcp または mode con cp select= コマンドを使用することもできますが、それは新規の開発ではお勧めできません。

ヒント

この API は推奨されておらず、同等の 仮想ターミナル はありません。 この決定により、Windows プラットフォームは、個々のクライアント アプリケーションがそれ自体の描画状態を記憶してさらに操作することが期待される他のオペレーティング システムと意図的に調整されます。 この API を使用している場合、クロスプラットフォーム ユーティリティや SSH などのトランスポートを介したアプリケーションのリモート処理は、想定どおりに動作しない可能性があります。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー ConsoleApi2.h(WinCon.h 経由、Windows.h を含む)
ライブラリ Kernel32.lib
[DLL] Kernel32.dll
Unicode 名と ANSI 名 ReadConsoleOutputCharacterW (Unicode) と ReadConsoleOutputCharacterA (ANSI)

関連項目

コンソール関数

COORD

低レベル コンソール出力関数

ReadConsoleOutput

ReadConsoleOutputAttribute

SetConsoleCP

SetConsoleOutputCP

WriteConsoleOutput

WriteConsoleOutputAttribute

WriteConsoleOutputCharacter