wsprintfA 関数 (winuser.h)
指定したバッファーに書式設定されたデータを書き込みます。 引数はすべて、書式指定に従って変換され、出力バッファーにコピーされます。 関数は、書き込む文字に終端の null 文字を追加しますが、戻り値には終端の null 文字は文字数に含まれません。
構文
int WINAPIV wsprintfA(
[out] LPSTR unnamedParam1,
[in] LPCSTR unnamedParam2,
...
);
パラメーター
[out] unnamedParam1
種類: LPTSTR
書式設定された出力を受け取るバッファー。 バッファーの最大サイズは 1,024 バイトです。
[in] unnamedParam2
種類: LPCTSTR
書式制御の仕様。 この文字列には、通常の ASCII 文字に加えて、各引数の書式指定が表示されます。 書式指定の詳細については、「解説」セクションを参照してください。
...
1 つ以上の省略可能な引数。 引数パラメーターの数と型は、 lpFmt パラメーターの対応する書式制御仕様によって異なります。
戻り値
型: int
関数が成功した場合、戻り値は出力バッファーに格納されている文字数であり、終端の null 文字はカウントされません。
関数が失敗した場合、戻り値は予想される出力の長さより小さくなります。 詳細なエラー情報を得るには、GetLastError を呼び出します。
書式制御文字列には、 lpFmt パラメーターに続く引数の出力形式を決定する書式指定が含まれています。 以下で説明する書式指定は、常にパーセント記号 (%) で始まります。 パーセント記号の後に書式フィールドとして意味のない文字が続く場合、その文字は書式設定されません (たとえば、%% は 1 つのパーセント記号文字を生成します)。
書式制御文字列は左から右に読み取られます。 最初の書式指定 (ある場合) が見つかった場合、書式指定文字列の後の最初の引数の値が変換され、書式指定に従って出力バッファーにコピーされます。 2 番目の書式指定により、2 番目の引数が変換およびコピーされます。その他も含まれます。 書式指定よりも多くの引数がある場合、余分な引数は無視されます。 すべての書式指定に十分な引数がない場合、結果は未定義になります。
書式指定は、次の形式で行います。
%[-][#][0][幅][.precision]type
各フィールドは、特定の書式オプションを示す 1 文字または数字です。 最後の省略可能な書式フィールドの後に表示される 型 文字によって、関連付けられた引数が文字、文字列、または数値として解釈されるかどうかが決まります。 最も単純な書式指定には、パーセント記号と型文字 (%s など) のみが含まれています。 省略可能なフィールドは、書式設定の他の側面を制御します。 省略可能なフィールドと必須フィールドとその意味を次に示します。
フィールド |
意味 |
- |
出力を空白またはゼロで右に埋め込み、フィールドの幅を埋め、出力を左に揃えます。 このフィールドを省略すると、出力は左側に埋め込み、右側に配置されます。
|
# |
プレフィックスは 0x (小文字) または 0X (大文字) の 16 進数の値です。
|
0 |
出力値を 0 に埋め込み、フィールドの幅を埋めます。 このフィールドを省略すると、出力値に空白が埋め込まれます。
|
width |
指定した最小文字数を出力バッファーにコピーします。
幅フィールドは負でない整数です。 幅の指定によって値が切り捨てられることはありません。出力値の文字数が指定された幅より大きい場合、または width フィールドが存在しない場合は、有効桁数の指定に従って、値のすべての文字が出力されます。
|
.精度 |
数値の場合は、指定した最小桁数を出力バッファーにコピーします。 引数の桁数が指定した有効桁数より小さい場合、出力値は左側にゼロで埋め込まれます。 桁数が指定した有効桁数を超えた場合、値は切り捨てされません。 指定した有効桁数が 0 または完全に省略された場合、またはピリオド (.) が後に続く数値なしで表示される場合、有効桁数は 1 に設定されます。
文字列の場合は、指定した最大文字数を出力バッファーにコピーします。
|
type |
対応する引数を文字、文字列、または数値として出力します。 このフィールドには、次のいずれかの値を指定できます。
c
-
1 文字。 この値は、wsprintfA によって CHAR 型として解釈され、wsprintfW によって WCHAR 型として解釈されます。 注 wsprintf は、 wsprintfA (Unicode が定義されていません) または wsprintfW (Unicode 定義) として定義されたマクロです。
C
-
1 文字。 この値は、wsprintfA によって WCHAR 型として解釈され、wsprintfW では CHAR 型として解釈されます。 注 wsprintf は、 wsprintfA (Unicode が定義されていません) または wsprintfW (Unicode 定義) として定義されたマクロです。
d
-
符号付き 10 進整数。 この値は と
i 同じです。
-
hc , hC
-
1 文字。 文字の数値が 0 の場合は無視されます。
呼び出し元のアプリケーションで Unicode が定義されている場合でも、この値は常に CHAR 型として解釈されます。
hd
-
符号付き短整数引数。
-
hs , hS
-
文字列 をオンにします。 呼び出し元のアプリケーションで Unicode が定義されている場合でも、この値は常に LPSTR 型として解釈されます。
hu
-
符号なし短整数。
i
-
符号付き 10 進整数。 この値は と
d 同じです。
-
Ix , IX
-
64 ビット プラットフォームでは小文字または大文字の 64 ビット符号なし 16 進整数、32 ビット プラットフォームでは小文字または大文字の 32 ビット符号なし 16 進数整数。
-
lc , lC
-
1 文字。 文字の数値が 0 の場合は無視されます。
呼び出し元のアプリケーションで Unicode が定義されている場合でも、この値は常に WCHAR 型として解釈されます。
ld
-
長符号付き整数。 この値は と
li 同じです。
li
-
長符号付き整数。 この値は と
ld 同じです。
-
ls , lS
-
文字列。 呼び出し元のアプリケーションで Unicode が定義されていない場合でも、この値は常に LPWSTR 型として解釈されます。 この値は と
ws 同じです。
lu
-
長い符号なし整数。
-
lx , lX
-
小文字または大文字の長い符号なし 16 進整数。
p
-
ポインター。 アドレスは 16 進数を使用して出力されます。
s
-
文字列。 この値は、wsprintfA では LPSTR 型、wsprintfW では LPWSTR 型として解釈されます。 注 wsprintf は、 wsprintfA (Unicode が定義されていません) または wsprintfW (Unicode 定義) として定義されたマクロです。
S
-
文字列 をオンにします。 この値は、wsprintfA では LPWSTR 型、wsprintfW では LPSTR 型として解釈されます。 メモ wsprintf は、 wsprintfA (Unicode が定義されていません) または wsprintfW (Unicode 定義) として定義されたマクロです。
u
-
符号なし整数引数。
-
x , X
-
小文字または大文字の符号なし 16 進整数。
|
メモwsprintf では、標準呼び出し (_stdcall) 呼び出し規則ではなく、C 呼び出し規則 (_cdecl) が使用されることに注意してください。 その結果、呼び出し元プロセスはスタックから引数をポップし、引数は右から左にスタックにプッシュされます。 C 言語モジュールでは、C コンパイラはこのタスクを実行します。
1024 バイトを超えるバッファーを使用するには、
_snwprintfを使用します。 詳細については、C ランタイム ライブラリのドキュメントを参照してください。
注意
winuser.h ヘッダーは wsprintf をエイリアスとして定義します。このエイリアスは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 |
値 |
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム |
Windows |
ヘッダー |
winuser.h (Windows.h を含む) |
Library |
User32.lib |
[DLL] |
User32.dll |
関連項目
概念
リファレンス
StringCbPrintf
StringCbPrintfEx
StringCbVPrintf
StringCbVPrintfEx
StringCchPrintf
StringCchPrintfEx
StringCchVPrintf
StringCchVPrintfEx
文字列
wvsprintf