• c++ string 和wstring 之间的互相转换函数


    #include <string>
    std::
    string ws2s(const std::wstring& ws)
    {
        std::
    string curLocale = setlocale(LC_ALL, NULL);        // curLocale = "C";
        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,
    0,_Dsize);
        wcstombs(_Dest,_Source,_Dsize);
        std::
    string result = _Dest;
        delete []_Dest;
        setlocale(LC_ALL, curLocale.c_str());
        
    return result;
    }

    std::wstring s2ws(
    const std::string& s)
    {
        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, 
    0, _Dsize);
        mbstowcs(_Dest,_Source,_Dsize);
        std::wstring result 
    = _Dest;
        delete []_Dest;
        setlocale(LC_ALL, 
    "C");
        
    return result;
    }

    这些都是最近自己在开发项目中用到的

    http://www.cppblog.com/kenwell/archive/2008/05/21/50661.html

  • 相关阅读:
    Servlet
    MySQL游标
    MySQL数据库的备份和还原
    MySQL安全管理
    MySQL存储过程
    MySQL联结——实现多表查询
    MySQL视图
    MySQL触发器
    asp.net core 读取连接字符串
    form表单提交前进行ajax验证
  • 原文地址:https://www.cnblogs.com/x-st/p/3493996.html
Copyright © 2020-2023  润新知