STL实用入门教程(1)----学习
来源:互联网 发布:手机恶意软件排行 编辑:程序博客网 时间:2024/04/30 14:55
关于STL,对于在什么情况下应该使用哪个容器和算法都感到比较茫然
一、什么是STL,使用STL的好处;
二、STL的string类型的使用方法。
STL的简介:
STL(StandardTemplate Library,标准模板库)
string封装了char*,管理这个字符串,是一个char*型的容器。
string管理char*所分配的内存。每一次string的复制,取值都由string类负责维护,不用担心复制越界和取值越界等。
string支持运算。调用Windows的API函数:WideCharToMultiByte()函数和MultiByteToWideChar()函数。
第二种方法
使用ATL的CA2W类与CW2A类。或使用A2W宏与W2A宏。
#include<string>
#include<locale.h>
usingnamespace std;
//wstring转成string
stringws2s(const wstring &ws)
{
stringcurLocale = setlocale(LC_ALL,NULL); //curLocale="C";
setlocale(LC_ALL,"chs");
constwchar_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);
stringresult = _Dest;
delete[]_Dest;
setlocale(LC_ALL,curLocale.c_str());
returnresult;
}
//string转成wstring
wstrings2ws(const string &s)
{
stringcurLocale = setlocale(LC_ALL,NULL); //curLocale = "C"
setlocale(LC_ALL,"chs");
constchar *_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);
wstringresult = _Dest;
delete[]_Dest;
setlocale(LC_ALL,curLocale.c_str());
returnresult;
}
#ifdef_UNICODE
typedefwstring tstring;
typedefwchar_t tchar;
#define_T(x) L ## x
#else
typedefstring tstring;
typedefchar tchar;
#define_T(x) x
#endif
- STL实用入门教程(1)----学习
- STL实用入门教程(2)----学习
- STL实用入门教程、COM实用入门教程
- VC知识库视频大讲坛系列之STL实用入门教程
- 学习maven的使用实用的入门教程
- 学习maven的使用实用的入门教程
- STL入门教程
- 学习maven的使用实用的入门教程 转
- 学习maven的使用,看到一篇很实用的入门教程
- 学习maven的使用,看到一篇很实用的入门教程 .
- 学习maven的使用,看到一篇很实用的入门教程
- 【学习笔记】《STL使用入门教程》第五讲:容器map、multimap
- Hibernate学习入门教程1
- 实用webpack入门教程
- C++ STL入门教程(1)——vector(向量容器)的使用(附完整程序代码)
- C++ STL入门教程(1)——vector(向量容器)的使用(附完整程序代码)
- C++ STL入门教程(1)——vector(向量容器)的使用(附完整程序代码)
- C++ STL入门教程(1)——vector(向量容器)的使用(附完整程序代码)
- hdu 4556 Stern-Brocot
- 金山西山居初赛第四场
- 为什么一个java源文件中只能有一个public类
- 深入了解php底层机制
- 网络编程概述
- STL实用入门教程(1)----学习
- 钩子函数---回调函数
- 比较两个集合
- redflag Dc5.0,Asianux2安装时无法创建文件系统,缺少scsi驱动解决办法
- Android实现网络多线程断点续传下载
- c++学习旅程
- Codeforces Round #184 (Div. 2)
- D_db2_deinstall. 卸载db2
- php代码执行文件重命名函数的权限以及参数