MFC 如何将cstringarray 中的ADD封装成cstring中的Format 一样的效果
时间: 2024-04-13 10:30:43 浏览: 25
您可以使用CString的Format方法来实现类似CStringArray的Add方法的功能。下面是一个示例代码:
```cpp
#include <afx.h>
#include <atlstr.h>
void AddToArray(CStringArray& array, LPCTSTR lpszFormat, ...)
{
va_list argList;
va_start(argList, lpszFormat);
CString str;
str.FormatV(lpszFormat, argList);
va_end(argList);
array.Add(str);
}
int main()
{
CStringArray myArray;
AddToArray(myArray, _T("Hello, %s!"), _T("World"));
for (int i = 0; i < myArray.GetSize(); i++)
{
CString str = myArray.GetAt(i);
// 使用str进行后续操作
}
return 0;
}
```
在上述示例中,我们定义了一个名为`AddToArray`的函数,该函数接受一个CStringArray对象和一个格式化字符串作为参数。该函数使用`va_list`和`va_start`来处理可变参数,并使用CString的FormatV方法来将格式化字符串应用于可变参数。
您可以调用`AddToArray`函数并传递相应的参数,这样就可以将格式化后的字符串添加到CStringArray中,实现了类似CString的Format方法的效果。