zoukankan      html  css  js  c++  java
  • std::string与std::wstring互相转换

    作者:zzandyc
    来源:CSDN
    原文:https ://blog.csdn.net/zzandyc/article/details/77540056
    版权声明:本文为博主原创文章,转载请附上博文链接!

    std::string ws2s(const std::wstring &ws)
    {
        size_t i;
        std::string curLocale = setlocale(LC_ALL, NULL);
        setlocale(LC_ALL, "chs");
        const wchar_t* _source = ws.c_str();
        size_t _dsize = 2 * ws.size() + 1;
        char* _dest = new char[_dsize];
        memset(_dest, 0x0, _dsize);
        wcstombs_s(&i, _dest, _dsize, _source, _dsize);
        std::string result = _dest;
        delete[] _dest;
        setlocale(LC_ALL, curLocale.c_str());
        return result;
    }
    
    std::wstring s2ws(const std::string &s)
    {
        size_t i;
        std::string curLocale = setlocale(LC_ALL, NULL);
        setlocale(LC_ALL, "chs");
        const char* _source = s.c_str();
        size_t _dsize = s.size() + 1;
        wchar_t* _dest = new wchar_t[_dsize];
        wmemset(_dest, 0x0, _dsize);
        mbstowcs_s(&i, _dest, _dsize, _source, _dsize);
        std::wstring result = _dest;
        delete[] _dest;
        setlocale(LC_ALL, curLocale.c_str());
        return result;
    }
  • 相关阅读:
    zeplin使用教程
    如何卸载命令行全局安装的包
    webstrom快捷键
    更新npm至最新版本
    mac环境下安装react项目环境
    横向滚动条布局
    JAVA语法基础——动手动脑
    JAVA语言课堂测试
    暑假第八周进度报告
    暑假第七周进度报告
  • 原文地址:https://www.cnblogs.com/coolbear/p/9835669.html
Copyright © 2011-2022 走看看