書式指定でstd::stringを作成

C++でプログラミングする場合、STLのstringオブジェクトは非常に便利なオブジェクトなのだが、いかんせん、cのsprintfのように書式指定で作成する子ができない。つまり、整数や少数をstringオブジェクトにしたい場合は、いったんsprintfでchar型のバッファにとりこんで、それからstringオブジェクトにする必要がある。結構面倒である。
なので、可変引数を利用して、stringオブジェクトを作成する関数を作成してみた。せっかくなので、ここに貼り付けておく。利用したかったら、勝手にどうぞ。注意点としては、windows限定ということ。


std::string FormatString(const char* pMsg, ...)
{
std::string text;
va_list args;

va_start(args, pMsg);

int length = ::_vscprintf(pMsg, args) + 1;
text.resize(length);
::vsprintf(&text.at(0), pMsg, args);

va_end(args);

return text;
}

ちなみにこの前の待ち合わせの問題はいまだに解決できてません。
現在、色々と試している段階。