>>32
ワイド文字列(多くの場合UTF16)として扱われる。
ShitJISは2バイト文字の2バイト目に1バイト文字と重なること(「ー」の2バイト目が[と同じだったり)がたびたびあるが、
ワイド文字は全ての文字が同一サイズ(UTF16なら2バイト)に固定されているのでそのようなことは起きない。

>>28
#include <sstream>
#include <string>
long l;
std::ostringstream oss;
oss << l;
後はoss.str();でstd::string型を返すから、std::stringの変数に代入するなり、関数の引数にoss.str().c_str()を書いたりご自由に。