This simple snippet allows formatting strings with arguments like the std::*printf
methods, but returns the result as std::string
.
#include <stdarg.h> #include <string> #define CHAR_BUFFER_SIZE 8192 std::string FormatString(const char* c_str, ...) { char buffer[CHAR_BUFFER_SIZE] = {}; va_list arglist; va_start(arglist, c_str); vsnprintf(buffer, sizeof(buffer), c_str, arglist); va_end(arglist); return std::string(buffer); }