VC常用数据类型使用转换详解
发布时间:
VC常用数据类型使用转换详解
先定义一些常见类型变量借以说明inti=100;longl=2001;floatf=300.2;doubled=12345.119;
charusername[]="女侠程佩君";chartemp[200];char*buf;CStringstr;_variant_tv1;_bstr_tv2;
一、其它数据类型转换为字符串短整型(int
itoa(i,temp,10;//将i转换为字符串放入temp中,最后一个数字表示十进制
itoa(i,temp,2;//按二进制方式转换长整型(longltoa(l,temp,10;
二、从其它包含字符串的变量中获取指向该字符串的指针CString变量
str="2008北京奥运";buf=(LPSTR(LPCTSTRstr;
BSTR类型的_variant_t变量v1=(_bstr_t"程序员";
buf=_com_util::ConvertBSTRToString((_bstr_tv1;三、字符串转换为其它数据类型strcpy(temp,"123";短整型(inti=atoi(temp;长整型(longl=atol(temp;浮点(doubled=atof(temp;
四、其它数据类型转换到CString
使用CString的成员函数Format来转换,例如:整数(int
str.Format("%d",i;浮点数(floatstr.Format("%f",i;
字符串指针(char*等已经被CString构造函数支持的数据类型可以直接赋值
str=username;
五、BSTR、_bstr_t与CComBSTR
CComBSTR、_bstr_t是对BSTR的封装,BSTR是指向字符串的32位指针。char*转换到BSTR可以这样:BSTRb=_com_util::ConvertStringToBSTR("数据";//使用前需要加上头文件comutil.h
反之可以使用char*p=_com_util::ConvertBSTRToString(b;六、VARIANT、_variant_t与COleVariant
VARIANT的结构可以参考头文件VC98\Include\OAIDL.H中关于结构体tagVARIANT的定义。
对于VARIANT变量的赋值:首先给vt成员赋值,指明数据类型,再对联合结构中相同数据类型的变量赋值,举个例子:VARIANTva;inta=2001;
va.vt=VT_I4;//指明整型数据va.lVal=a;//赋值