string FormatString(const char *lpcszFormat,...)
{
char *pszStr = NULL;
if (NULL != lpcszFormat)
{
va_list marker = NULL;
va_start(marker, lpcszFormat); //初始化变量参数
size_t nLength = _vscprintf(lpcszFormat, marker) + 1; //获取格式化字符串长度
pszStr = new char[nLength];
memset(pszStr, '\0', nLength);
_vsnprintf_s(pszStr, nLength, nLength, lpcszFormat, marker);
va_end(marker); //重置变量参数
}
string strResult(pszStr);
delete[]pszStr;
return strResult;
}
wstring FormatWstring(const wchar_t *lpcwszFormat,...)
{
wchar_t *pszStr = NULL;
if (NULL != lpcwszFormat)
{
va_list marker = NULL;
va_start(marker, lpcwszFormat); //初始化变量参数
size_t nLength = _vscwprintf(lpcwszFormat, marker) + 1; //获取格式化字符串长度
pszStr = new wchar_t[nLength];
memset(pszStr, L'\0', nLength);
_vsnwprintf_s(pszStr, nLength, nLength, lpcwszFormat, marker);
va_end(marker); //重置变量参数
}
wstring strResult(pszStr);
delete[]pszStr;
return strResult;
}