次の方法で共有


CStringT::FormatMessage

更新 : 2007 年 11 月

メッセージ文字列を書式化します。

void __cdecl FormatMessage(
   UINT nFormatID,
   [, argument]...
);
void __cdecl FormatMessage(
   PCXSTR pszFormat,
   [, argument]...
);

パラメータ

  • nFormatID
    書式化されていないメッセージ テキストを持つ文字列リソース識別子。

  • pszFormat
    書式指定文字列。書式指定文字列は挿入するためにスキャンされ、その結果に応じて書式化されます。この書式指定文字列は、パラメータを任意の順番に挿入できることを除いて、ランタイム関数 printf スタイルの書式指定文字列と同じです。

  • argument
    省略可能な引数。

解説

この関数にはメッセージ定義を入力する必要があります。メッセージ定義は、pszFormat、または nFormatID によって識別される文字列リソースにより決まります。この関数は、必要に応じて埋め込まれた挿入順序に従って処理しながら、書式化されたメッセージ テキストを CStringT オブジェクトにコピーします。

041zd9kb.alert_note(ja-jp,VS.90).gifメモ :

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 のメンバ