CStringT::FormatMessage
メッセージ文字列を書式化します。
void __cdecl FormatMessage(
UINT nFormatID,
[, argument]...
);
void __cdecl FormatMessage(
PCXSTR pszFormat,
[, argument]...
);
パラメーター
nFormatID
書式化されていないメッセージ テキストを持つ文字列リソース識別子。pszFormat
書式指定文字列。 書式指定文字列は挿入するためにスキャンされ、その結果に応じて書式化されます。 この書式指定文字列は、パラメーターを任意の順番に挿入できることを除いて、ランタイム関数 printf スタイルの書式指定文字列と同じです。argument
省略可能な引数。
解説
この関数にはメッセージ定義を入力する必要があります。 メッセージ定義は、pszFormat、または nFormatID によって識別される文字列リソースにより決まります。 この関数は、必要に応じて埋め込まれた挿入順序に従って処理しながら、書式化されたメッセージ テキストを CStringT オブジェクトにコピーします。
注意
FormatMessage は、新しく書式化された文字列のシステム メモリを割り当てようとします。 メモリの割り当てができなかったときは、メモリ例外が自動的にスローされます。
挿入される項目ごとに pszFormat のパラメーターまたは nFormatID のパラメーターに対応するパラメーターが必ず必要です。 メッセージ テキスト内には、メッセージの動的書式化をサポートするいくつかのエスケープ シーケンスがあります。 詳細については、Windows SDK の「FormatMessage 関数」を参照してください。
使用例
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str;
int nAsked = 5;
int nAgree = 4;
str.FormatMessage(_T("%1!d! of %2!d! writers agree: Soccer is %3%!"),
nAgree, nAsked, _T("Best"));
ASSERT(str == _T("4 of 5 writers agree: Soccer is Best!"));
必要条件
**ヘッダー:**cstringt.h