FillConsoleOutputCharacter 関数
重要
このドキュメントでは、エコシステム ロードマップの一部ではなくなったコンソール プラットフォームの機能について説明します。 このコンテンツを新しい製品で使用することはお勧めしませんが、今後も既存の使用をサポートし続けます。 推奨される最新のソリューションでは、クロスプラットフォーム シナリオでの互換性を最大限に高める仮想ターミナル シーケンスに重点を置いています。 この設計決定の詳細については、クラシック コンソールと仮想ターミナルのドキュメントを参照してください。
指定した座標から開始して、指定した回数だけ、コンソール スクリーン バッファーに文字を書き込みます。
構文
BOOL WINAPI FillConsoleOutputCharacter(
_In_ HANDLE hConsoleOutput,
_In_ TCHAR cCharacter,
_In_ DWORD nLength,
_In_ COORD dwWriteCoord,
_Out_ LPDWORD lpNumberOfCharsWritten
);
パラメーター
hConsoleOutput [in]
コンソール画面バッファーのハンドル。 ハンドルには、GENERIC_WRITE アクセス権が必要です。 詳細については、「コンソール バッファーのセキュリティとアクセス権」を参照してください。
cCharacter [in]
コンソール スクリーン バッファーに書き込む文字。
nLength [in]
文字を書き込む必要がある文字セルの数。
dwWriteCoord [in]
文字の書き込み先となる最初のセルの文字座標を指定する COORD 構造体。
lpNumberOfCharsWritten [out]
コンソール スクリーン バッファーに実際に書き込まれた文字の数を受け取る変数へのポインター。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
書き込む文字数がコンソール スクリーン バッファー内の指定された行の末尾を超える場合、文字は次の行に書き込まれます。 書き込む文字数がコンソール スクリーン バッファーの末尾を超える場合は、コンソール スクリーン バッファーの末尾まで文字が書き込まれます。
書き込まれる位置の属性値は変更されません。
この関数では、Unicode 文字またはコンソールの現在のコード ページの 8 ビット文字が使用されます。 コンソールのコード ページには、最初はシステムの OEM コード ページが既定で設定されます。 コンソールのコード ページを変更するには、SetConsoleCP または SetConsoleOutputCP 関数を使用します。 従来のユーザーは、chcp または mode con cp select= コマンドを使用することもできますが、それは新規の開発ではお勧めできません。
ヒント
この API は推奨されておらず、同等の特定の 仮想ターミナル はありません。 表示可能ウィンドウの外側の領域への入力はサポートされておらず、ターミナルの履歴スペース用に予約されています。 表示領域に新しいテキストまたは色を入力するには、カーソルの移動、新しい属性の設定を行い、その後その領域の目的のテキストの書き込み、塗りつぶしの実行の長さに必要に応じて文字の繰り返しを行います。 追加のカーソル移動の後に、四角形の領域を塗りつぶすために目的のテキストを書き込む必要があります。 クライアント アプリケーションは、スクリーン上にあるものの独自のメモリを保持し、リモート状態のクエリを実行できないことが予想されます。 詳細については、クラシック コンソールと仮想ターミナルのドキュメントを参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー | ConsoleApi2.h(WinCon.h 経由、Windows.h を含む) |
ライブラリ | Kernel32.lib |
[DLL] | Kernel32.dll |
Unicode 名と ANSI 名 | FillConsoleOutputCharacterW (Unicode) と FillConsoleOutputCharacterA (ANSI) |