C++ STRING 和WSTRING 之间的互相转换函数
来源:互联网 发布:为mysql设置密码 编辑:程序博客网 时间:2024/05/23 11:22
#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;
}
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;
}
0 0
- C++ STRING 和WSTRING 之间的互相转换函数
- c++ string 和wstring 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- C++ STRING 和WSTRING 之间的互相转换函数
- wstring和string互相转换
- C++中wstring和string的互相转换
- wstring 和 string 之间的相互转换方法
- List和string之间的互相转换
- string和numeric之间的互相转换
- List和string之间的互相转换
- List和string之间的互相转换
- wstring string CString之间的转换
- wstring 与 string 之间的转换
- jni总结
- SDUTOJ3314
- [刷题]Largest Rectangle in Histogram
- 关于EditText中的TextWatcher监听
- 华为华三交换机堆叠配置
- C++ STRING 和WSTRING 之间的互相转换函数
- context:annotation-config
- 注释驱动的 Spring cache 缓存介绍
- 从stdin 读入 输出到stdout
- 阿里巴巴接口时间(Date)类型字段提交格式
- 第一次只出现一次的字符
- 每天进步一点点
- shell 脚本中 1>、2>、2>&1 的作用
- GCD应用