次の方法で共有


CStringT::FormatMessage

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

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

パラメーター

  • nFormatID
    The string メッセージの書式なしテキストを含むリソース識別子。

  • pszFormat
    書式指定文字列へのポインター。これは、挿入のスキャンされ、それに応じて書式設定されます。書式指定文字列は、パラメーターを任意の順序で挿入できるようにする以外、ランタイムの関数の printfの式の形式の文字列に似ています。

  • argument
    省略可能な引数。

解説

関数は、入力としてメッセージ署名が必要です。メッセージは pszFormat 定義して、nFormatIDによって識別される文字列リソースから決定されます。関数は埋め込み挿入のシーケンスを処理する CStringT のオブジェクトに要求して書式指定されたメッセージ テキストをコピーします。

[!メモ]

FormatMessage は、最近書式設定された文字列のシステム メモリを割り当てようとします。この試みに失敗すると、メモリ不足の例外が自動的にスローされます。

各挿入は pszFormat または nFormatID のパラメーターの直後に対応するパラメーターが必要です。メッセージ テキスト内では、複数のエスケープ シーケンスは、動的にメッセージを書式設定するにサポートされます。詳細については、Windows SDKの Windows 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