C++字符串:string and wstring的区别
来源:互联网 发布:linux系统安全 编辑:程序博客网 时间:2024/05/17 07:09
C++字符串:string and wstring的区别,非常重要!!!!
请看下面代码:
wstring s=L"abc,?重庆大学机械传动国家重点实验室,重庆,400044";
string s1="abc,?重庆大学机械传动国家重点实验室,重庆,400044";
cout<<"窄字符串模式下的长度"<<s1.size()<<endl;
cout<<"宽字符串模式下的长度"<<s.size()<<endl;
输出结果为:
可以看出在宽字符串模式下:一个全角字符和一个半角字符占有的计数单位相同;在窄字符串模式下,一个全角字符的计算单位是一个半角字符计数单位的两倍。
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;}
- C++字符串:string and wstring的区别
- wstring和string的区别
- C++的中英文字符串表示(string,wstring)
- C++的中英文字符串表示(string,wstring)
- C++的中英文字符串表示(string,wstring)
- C++的中英文字符串表示(string,wstring)
- C++的中英文字符串表示(string,wstring)
- CString,wstring和string的区别
- 字符串,wchar_t, char,string,wstring
- c++ string wstring 字符串替换
- 各种字符串类型 string和wstring之间的转化
- C++: wstring与string互转
- C Tips: std::string / std::wstring 的 Trim 函数
- wstring to string and vice versa
- string 到 wstring的转换
- wstring 与 string 的转换
- wstring和string的转化
- c字符串、string对象、字符串字面值的区别
- 转换与类类型
- java转换json的实用工具-Gson
- JSDB.io:JavaScript 开源库大集合
- 跳表(Skip List)的介绍以及查找插入删除等操作
- linux 下获取当前网络连接状态的两种方法
- C++字符串:string and wstring的区别
- Android系统的改进(八)-- 当把手机当作存储介质连到电脑后,如果指定的铃声在存储卡上,指定的歌曲铃声消失,恢复默认
- log4j logback slf4j项目配置中的简单总结
- vs2012 error c4996: 'fopen': This function or variable may be unsafe
- linux常用命令
- iptables 指令
- 小牛的 JavaScript项目
- amqp协议与php下的rabbitMQ
- 亲测 OK6410 dnw下载驱动 win7 x64位