wstring转string和string转wstring
2015-09-11 11:07
447 查看
//================================================================================= // Narrow2Wide() //================================================================================= wstring Narrow2Wide(const std::string& narrowString) { int m_codepage = _getmbcp(); int numChars = ::MultiByteToWideChar( m_codepage, MB_PRECOMPOSED, narrowString.c_str(), -1, 0, 0 ); _ASSERT(numChars); // TRACE("Number of characters in the string is %d", numChars); wchar_t* test = new wchar_t[numChars+1]; numChars = ::MultiByteToWideChar( m_codepage, MB_PRECOMPOSED, narrowString.c_str(), -1, test, numChars ); std::wstring temp(test); delete []test; return temp; } //================================================================================= // Wide2Narrow() //================================================================================= string Wide2Narrow(const wstring& wideString) { int m_codepage = ::_getmbcp(); int result = ::WideCharToMultiByte( m_codepage, // Code page 0, // Default wideString.c_str(), // WCS buffer -1, // Assume null terminated str, calclate length auto 0, // Buffer to receive MBCS string 0, // Length of MB buffer ( 0 -> return length required ) 0, // lpdefaultChar 0 // lpUsedDefaultChar ); _ASSERT(result); char *test = new char[result+1]; result = ::WideCharToMultiByte( m_codepage, // Code page 0, // Default wideString.c_str(), // WCS buffer -1, // Assume null terminated str, calclate length auto test, // Buffer to receive MBCS string result, // Length of MB buffer ( 0 -> return length required ) 0, // lpdefaultChar 0 // lpUsedDefaultChar ); std::string temp(test); delete []test; return temp; }
相关文章推荐
- 企业信息化解决方案——插件式平台开发框架
- EF多个表映射
- Date 与 simpleDateFormat的使用
- 【转】Objective-C语法property详解
- 两个DOM 交换位置
- 4、DHCP部署
- OpenStack Mnaila 2015-09-10 IRC会议内容
- java.lang.String中的trim()方法的详细说明
- linux shell数组赋值方法(常用)
- [MySQL FAQ]系列 — 线上环境到底要不要开启query cache
- 欢迎使用CSDN-markdown编辑器
- C#—委托
- GrabParkingSpacesGame(comlex)
- JS字符串大小写转换实现方式
- css伪元素before/after和画三角形的搭配应用
- EasyUI DataGrid undefined处理
- 计算机编码总结
- Entity Framework 学习总结之一:ADO.NET 实体框架概述
- cmake 命令 安装,用法简介
- mysql出现错误 Every derived table must have its own alias