MFC中CString和string的相互转换

简介:

下面的代码应该同时适用于多字节字符集和Unicode字符集,上代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//将CString转为std::string
string CMyUtil::CString2string( const  CString &cstr)
{
     CStringA stra(( TCHAR  *)( LPCTSTR )(cstr));
     string str(( char  *)( LPCSTR )(stra));
 
     return  str;
}
 
//将std::string转为CString
CString CMyUtil::string2CString( const  string &str)
{
     CString cstr(str.c_str(), str.length());
 
     return  cstr;
}

值得说明一下的是,walker认为下面这个版本完全没必要,因为我们并不需要更改原始CString的内容。

1
2
3
4
5
6
7
8
9
10
11
//将CString转为std::string(walker认为没必要这样用)
string CMyUtil::CString2string(CString cstr)
{
     CStringA stra(cstr.GetBuffer(0));
     cstr.ReleaseBuffer();
 
     string str = stra.GetBuffer(0);
     stra.ReleaseBuffer();
 
     return  str;
}


*** walker ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1427805如需转载请自行联系原作者

RQSLT
相关文章
|
存储 算法 C语言
【C++】对于string的补充(成员函数c_str()、大小写转换、字符串和实数之间的相互转换)
【C++】对于string的补充(成员函数c_str()、大小写转换、字符串和实数之间的相互转换)
73 0
|
Go
golang 中string和int类型相互转换
golang 中string和int类型相互转换
112 0
|
Java
Java StringBuilder 和 String 相互转换
Java StringBuilder 和 String 相互转换
79 0
|
Java 编译器 Scala
值类型与 String 相互转换|学习笔记
快速学习值类型与 String 相互转换。
值类型与 String 相互转换|学习笔记
|
C++
【C++】string和int类型相互转换
【C++】string和int类型相互转换
249 0
【C++】string和int类型相互转换
|
Windows
wchar、char、CString、string
wchar、char、CString、string
130 0
|
Java
Java中包装类、int和String类型相互转换、自动拆箱和自动装箱及字符串数据排序案例
包装类、int和String类型相互转换、自动拆箱和自动装箱及字符串数据排序案例的简单示例
160 0
Java中包装类、int和String类型相互转换、自动拆箱和自动装箱及字符串数据排序案例
StringBuffer类的使用以及与String类的相互转换
StringBuffer类的使用以及与String类的相互转换
C++学习——CString,char * ,string的相互转换
C++学习——CString,char * ,string的相互转换
239 0

热门文章

最新文章

下一篇
无影云桌面