VS2013环境下MFC中CString与string相互转换
来源:互联网 发布:ecshop小京东数据字典 编辑:程序博客网 时间:2024/05/18 00:52
平时处理字符串时经常会碰到类型转换的问题,VS2013环境下MFC中CString与string类型互相转换较为常见,之前解决后没有记录又碰到时却忘记了,这里就做下记录也跟大家分享一下。
VS2013工程环境的默认字符编码为Unicode,CString其实是模板类型:CStringT,它的定义如下:
typedef ATL::CStringT< TCHAR, StrTraitMFC_DLL< TCHAR > > CString;
string的定义:
typedef basic_string<char, char_traits<char>, allocator<char> > string;
所以CString与string直接不能直接强制转换;
CString转string的方法有很多,但是在VS2013环境下我试了几种,部分有点问题;
会出现类似“wchar_t *”转换为“std::string这样的错误,比如:GetBuffer(0)这种办法。
不过发现了一种可行的并且使用比较方便的办法:USES_CONVERSION; W2A(CString变量);
// CString 转 string
BOOL CHrmLogin::CheckLogin(CString userID, CString pwd){ADO ado;MD5 md5;CString sql;USES_CONVERSION;string key = md5.getMD5(W2A(pwd));CString strText(key.c_str());CString str2 = L"MD5值:" + strText;MessageBox(str2);return TRUE;}
// string转 CString
MD5 md5;string str1 = "abc";string s = md5.getMD5(str1);CString strText(s.c_str());CString str2 = L"MD5值:" + strText;MessageBox(str2);
2 0
- VS2013环境下MFC中CString与string相互转换
- MFC中CString与string的转换
- MFC中CString与string的区别以及相互转换关系
- CString与string相互转换
- MFC string CString char wchar 相互转换
- Unicode下的CString与String之间的相互转换
- Unicode下的CString与String之间的相互转换
- MFC中CString与Char类型字符串的相互转换
- MFC中 CString与Char[] 的相互转换
- VS2013中CString转换到string
- CString与std::string相互转换
- CString与string的相互转换
- CString与char * ,string 的相互转换
- CString与string,char*的相互转换
- CString与std::string相互转换
- MFC中Cstring与char * string 的转换
- [MFC] CString与string间的转换
- Unicode 下char*与CString相互转换
- 如何写一个linux精灵进程
- selenium自动化测试资源整理(含所有版本chrome、chromedriver、firefox下载链接)
- Behavior Designer 入门笔记.
- java实现给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
- Activity生命周期
- VS2013环境下MFC中CString与string相互转换
- mybatis逆向工程
- java实现输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- Oracle解析复杂json的方法
- PHP学习笔记——系统函数
- Hololens
- php开启mysql扩展
- wifi详解(二)
- C++ HackerRank|Is This a Binary Search Tree?