製造format_string helper函數

製造兩個helper函數

當我們要跨平臺的時候CString 等都不能用了,這個時候需要一些順手的工具
下面兩個函數是格式化字符串,返回string和wstring

std::string format_string(const char* lpszFormat,...)
{
	va_list argList;
	va_start(argList, lpszFormat);
	int n = vsnprintf(NULL, 0, lpszFormat, argList);
	std::string str;
	str.resize(n + 1, 0);
	vsnprintf((char*)str.data(), n + 1, lpszFormat, argList);
	va_end(argList);
	return str;
}
std::wstring format_string(const wchar_t* lpszFormat, ...)
{
	va_list argList;
	va_start(argList, lpszFormat);
	int n = _vsnwprintf(NULL, 0, lpszFormat, argList);
	std::wstring str;
	str.resize(n + 1, 0);
	_vsnwprintf((wchar_t*)str.data(), n + 1, lpszFormat, argList);
	va_end(argList);
	return str;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章