MFC中CString和string的相互转换
2014-06-18 16:57
337 查看
下面的代码应该同时适用于多字节字符集和Unicode字符集,上代码:
*** walker ***
//将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的内容。
//将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 ***
相关文章推荐
- 【C++】MFC中的CString和std::string,以及两者之间的相互转换(基于VS201X版本)
- 完成一程序演示字符数组、C风格字符串、std::string和MFC中的Cstring类型之间的相互转换
- VS2013环境下MFC中CString与string相互转换
- MFC string CString char wchar 相互转换
- MFC中CString与string的区别以及相互转换关系
- CString、char*、string、int、_bstr_t、CTime、COleDateTime相互转换,判断一个字符串是一个浮点数
- C++/CLI: CString/LPCWSTR与System::String的相互转换
- CString string char*之间的相互转换
- CString,TCHAR*,string之间的相互转换
- CString、char*、string、int、_bstr_t、CTime、COleDateTime相互转换,判断一个字符串是一个浮点数
- MFC/C++/C中CString, int, string, char*之间的转换
- MFC/C++/C中字符类型CString, int, string, char*之间的转换
- MFC中CString和string以及char * 的相互转化
- CString、char*、string、_bstr_t、CTime、DateTime相互转换
- 【知识收藏】CString和string对象的相互转换
- C++中 char*, string, CString, int, double之间相互的转换
- MFC/C++/C中字符类型CString, int, string, char*之间的转换
- MFC/C++/C中字符类型CString, int, string, char*之间的转换
- MFC/C++/C中字符类型CString, int, string, char*之间的转换
- CString与std::string相互转换