std::string と std::wstring の相互変換

c++ で std::string と std::wstring (ワイド文字列版) を相互に変換するコードです

プロトタイプ宣言

#include <string>
std::wstring s2ws(const std::string& str);
std::string ws2s(const std::wstring& wstr);

実装

#include <string>
#include <codecvt>

std::wstring s2ws(const std::string& str)
{
    std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> x;
    return x.from_bytes(str);
}

std::string ws2s(const std::wstring& wstr)
{
    std::wstring_convert<std::codecvt_utf8<wchar_t>, wchar_t> x;
    return x.to_bytes(wstr);
}