次の方法で共有


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

参照

参照

CStringT クラス

CStringT::FormatMessageV

その他の技術情報

CStringT のメンバー