#include <string>
#include <stdio.h>
#include <stdarg.h>
std::string& std_string_format(std::string & _str, const char * _Format, ...)
{
std::string tmp;
va_list marker;
va_start(marker, _Format);
size_t num_of_chars = vsnprintf(0, 0, _Format, marker);
if (num_of_chars >= tmp.capacity()) {
tmp.resize(num_of_chars + 1);
}
vsnprintf((char *)tmp.data(), tmp.capacity(), _Format, marker);
va_end(marker);
_str = tmp.c_str();
return _str;
}