当前位置:C++技术网 > 资讯 > CString和string字符串的相互转换

CString和string字符串的相互转换

更新时间:2016-10-26 18:12:19浏览次数:1+次

    在MFC项目中,用到了mysql数据库。mysql数据库使用了string字符串,所以就需要进行CString和string字符串的相互转换。转换的中介就是CStringA。

    CStringA是ASCII版本的CString。我们一般默认的项目字符集是Unicode,所以CString用的是CStringW。而string是ASCII字符集。所以转换就借助CStringA来实现。其实转换的方法可以有很多,这里只是提供了一种而已。

    为了方便快速写代码,我这里包装成了函数,直接可以使用。我在项目里就封装为一个简单的字符串处理类。

    下面是代码:

string CString2string(CString str)
{
    CStringA strA;
    strA = str;
    string str_ret = strA.GetBuffer();
    strA.ReleaseBuffer();
    return str_ret;
}
CString string2CString(string str)
{
    CString str_ret(str.c_str());
    return str_ret;
}
   转换很简单,建议先弄明白过程。明白了,你也可以直接拿来用。也可以自己随时写出来。或者可以写出更好的版本来。只是为了提供方便,就分享出来了。


    像这样的小代码,写在这里,以后自己也可以随时查询,不用重复写小代码。