引用[http://icodeguru.com/VC/mfc/Macro/AfxFormatString1.htm]
(1)函数void AxFormatString1(CString& rString, UINT nIDS, LPCTSTR lpsz1);
参数:
rString | 对CString对象的引用,在替换之后它将包含结果字符串。 |
nIDS | 模板字符串的资源ID,替换将在模板字符串上发生。 |
lpsz1 | 将替换模板字符串中格式字符“%1”的字符串。 |
说明:
调入指定的字符串资源并将字符“%1”替换为lpsz1指向的字符串。新形式的字符串保存在rString中。
例如,如果字符串表中的字符串是“File %1 not fount”,而lpszl代表“C:/MYFILE.TXT”,则rString包含的字符串为“File C:/MYFILE.TXT no found”。这个函数在格式化要向消息框或其它窗口发送的字符串时是非常有用的。
如果字符串中格式字符“%1”出现了不止一次,那么会进行多次替换。
实例:
CString msg=_T("");
AfxFormatString1(msg,IDS_HELLO_1,_T("Goodbye"));
AfxMessageBox(msg);
//IDS_HELLO_1的内容为“Hello %1”,替换后msg="Hello Goodbye"
//与msg初始值无关
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
引用[http://icodeguru.com/VC/mfc/Macro/AfxFormatString2.htm]
(2)函数void AxFormatString2(CString& rString, UINT nIDS, LPCTSTR lpsz1, LPCTSTR lpsz2);
参数:
rString | 对CString对象的引用,在替换之后它将包含结果字符串。 |
nIDS | 模板字符串的资源ID,替换将在模板字符串上发生。 |
lpsz1 | 将替换模板字符串中格式字符“%1”的字符串。 |
lpsz2 | 将替换模板字符串中格式字符“%2”的字符串。 |
说明:
调入指定的字符串资源并将字符“%1”和“%2”替换为lpsz1和lpsz2指向的字符串。新形式的字符串保存在rString中。例如,如果字符串表中的字符串是“File %1 not fount in %2”,而lpsz1指向“C:/MYFILE.TXT”,lpsz2指向“C:/MYDIR”,则rString包含的字符串为“File C:/MYFILE.TXT no found inC:/MYDIR”。
如果字符串中格式字符“%1”和“%2”出现了不止一次,那么会进行多次替换。它们不必按照数字顺序排列。