次の方法で共有


AfxFormatString2

指定された文字列リソースを読み込み、lpsz1、lpsz2 で指されている文字列で文字列 "%1"、"%2" を置き換えます。

void AfxFormatString2(
   CString& rString,
   UINT nIDS,
   LPCTSTR lpsz1,
   LPCTSTR lpsz2 
); 

パラメーター

  • rString
    置き換えが実行された後の結果文字列を保持する CString オブジェクトへの参照。

  • nIDS
    置き換えが実行されるテンプレート文字列のリソース ID。

  • lpsz1
    テンプレート文字列内の書式指定文字 "%1" を置き換える文字列。

  • lpsz2
    テンプレート文字列内の書式指定文字 "%2" を置き換える文字列。

解説

新しく生成された文字列は rString に格納されます。 たとえば、ストリング テーブル内の文字列が "File %1 not found in directory %2"、lpsz1 が "MYFILE.TXT"、lpsz2 が "C:\MYDIR" の場合は、rString には文字列 "File MYFILE.TXT not found in directory C:\MYDIR" が格納されます。

書式指定文字 "%1"、"%2" が文字列内に複数あるときは、複数の置き換えが実行されます。 数字の順序は無関係です。

使用例

void DisplayFileNotFoundMessage(LPCTSTR pszFileName, LPCTSTR pszDirectory)
{
   CString strMessage;

   // The IDS_FILENOTFOUND string resource contains "Error: File %1 not 
   // found in directory %2"
   AfxFormatString2(strMessage, IDS_FILENOTFOUND2, pszFileName, pszDirectory);
   // In the previous call, substitute the actual file and directory 
   // names into the message string
   AfxMessageBox(strMessage);  // Display the error message
}

必要条件

**ヘッダー:**afxwin.h

参照

参照

AfxFormatString1

概念

MFC マクロとグローバル