std::string string_format(const std::string fmt, ...) {
int size = 100;
std::string str;
va_list ap;
while (1) {
str.resize(size);
va_start(ap, fmt);
int n = vsnprintf((char *)str.c_str(), size, fmt.c_str(), ap);
va_end(ap);
if (n > -1 && n < size) {
str.resize(n);
return str;
}
if (n > -1)
size = n + 1;
else
size *= 2;
}
return str;
}
std::wstring wstring_format(const std::wstring fmt, ...) {
int size = 100;
std::wstring str;
va_list ap;
while (1) {
str.resize(size);
va_start(ap, fmt);
int n = _vsnwprintf((wchar_t *)str.c_str(), size, fmt.c_str(), ap);
va_end(ap);
if (n > -1 && n < size) {
str.resize(n);
return str;
}
if (n > -1)
size = n + 1;
else
size *= 2;
}
return str;
}
string_format
最新推荐文章于 2022-10-21 16:50:44 发布