MFC字符串之间的转换

VC进行数据库开发,或网络程序开发时,涉及到许多数据类型的转换问题,我是感觉很难记忆,所以记下来,以便开发程序时查询。重要的几个类类型:

◆BSTR,VARIANT是COM中经常使用的数据类型,如果要进行COM方面的编程,比如ADO,OLEDB数据库开发必须涉及到数据类型的转换。经常要把C++数据类型转成COM数据类型或者COM数据类型型转成C++数据类型

◆ CComBSTR、_bstr_t,bstr_t是对BSTR的封装

CComBSTR 是ATL对BSTR的封装,_bstr_t是C++对BSTR的封装,BSTR是32位指针,但并不直接指向字串的缓冲区

CComBSTR与_bstr_t对大量的操作符进行了重载,可以直接进行=,!=,==等操作,所以使用非常方便。
特别是_bstr_t,建议大家使用它。

◆ CComVariant,_variant_t,variant_t是VARIANT的包装类

CComVariant是ATL对VARIANT的封装,_variant_t,variant_t是c++对VARIANT的封装。

对于不马上赋值的VARIANT,最好先用VariantInit(VARIANTARG FAR* pvarg);进行初始化,其本质是将vt设置为VT_EMPTY。

◆ CString是MFC的关于字符串包装的类
cstring中定义了很多构造函数,并且重载了==、!=、<;、>;、<=、>=、=等运算符,可以方便进行字符串比较或赋值,


一、_variant_t转cstring

  1、 declare the variable

       CString str;        _variant_t varStr;

  2、data conversion processing

       str=(LPCSTR)(_bstr_t)varStr;


-------------------------------------未完,待续------------------------------------------

你可能感兴趣的:(字符串转换,程序开发,数据库开发)