C++ string转换成wstring

来自泡泡学习笔记
跳到导航 跳到搜索
#include <string>
//将string转换成wstring
std::wstring string2wstring(std::string str)
{
    std::wstring result;
    //获取缓冲区大小,并申请空间,缓冲区大小按字符计算
    int len = MultiByteToWideChar(CP_ACP, 0, str.c_str(), str.size(), NULL, 0);
    TCHAR* buffer = new TCHAR[len + 1];
    //多字节编码转换成宽字节编码
    MultiByteToWideChar(CP_ACP, 0, str.c_str(), str.size(), buffer, len);
    buffer[len] = '\0'; //添加字符串结尾
    //删除缓冲区并返回值
    result.append(buffer);
    delete[] buffer;
    return result;
}