質問: std::shared_ptr(raw_res); while (res->next()) { CCLOG("%s", res); } うまく出力できない型だと考え、std::stringに変換してみようとも思いましたが、 変換自体うまくいきません。 どうかご教授のほどよろしくお願いいたします。
回答: `CCLOG`が何をやっているのかは知りませんが、もしcmd.exeに書き出しているのでしたら、あきらめましょう。cmd.exeはどうやってもUnicodeをまともに扱うことはできません。 で妥協としてcp932に変換可能な範囲であれば、Windows環境ではUTF16である`wchar_t`型に変換することでcmd.exeがよきに計らってcp932に変換してから表示してくれます(OS localeが日本語の場合で`chcp`コマンドを叩いていない場合) UTF-8からUTF-16への変換はWindowsAPIで十分でしょう(`std::codecvt`を使う方法はC++17でdeprecatedになったので)。