wsprintfA 関数 (winuser.h)

指定したバッファーに書式設定されたデータを書き込みます。 引数はすべて、書式指定に従って変換され、出力バッファーにコピーされます。 関数は、書き込む文字に終端の null 文字を追加しますが、戻り値には終端の null 文字は文字数に含まれません。

メモ は使用しないでください。 代わりに、 StringCbPrintf、StringCbPrintfExStringCchPrintfStringCchPrintfEx のいずれかの関数を使用することを検討 してください。 「セキュリティに関する考慮事項」を参照してください。
 

構文

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