设为首页 加入收藏

TOP

VC常用数据类型使用转换详解
2014-11-14 20:15:23 】 浏览:5118
Tags:常用 数据 类型 使用 转换 详解

  先定义一些常见类型变量借以说明


  int i = 100;


  long l = 2001;


  float f=300.2;


  double d=12345.119;


  char username[]="女侠程佩君";


  char temp[200];


  char *buf;


  CString str;


  _variant_t v1;


  _bstr_t v2;


  一、其它数据类型转换为字符串


  短整型(int)


  itoa(i,temp,10); //将i转换为字符串放入temp中,最后一个数字表示十进制


  itoa(i,temp,2); //按二进制方式转换


  长整型(long)


  ltoa(l,temp,10);


  二、从其它包含字符串的变量中获取指向该字符串的指针


  CString变量


  str = "2008北京奥运";


  buf = (LPSTR)(LPCTSTR)str;


  BSTR类型的_variant_t变量


  v1 = (_bstr_t)"程序员";


  buf = _com_util::ConvertBSTRToString((_bstr_t)v1);


  三、字符串转换为其它数据类型


  strcpy(temp,"123");


  短整型(int)


  i = atoi(temp);


  长整型(long)


  l = atol(temp);


  浮点(double)


  d = atof(temp);


  四、其它数据类型转换到CString


  使用CString的成员函数Format来转换,例如:


  整数(int)


  str.Format("%d",i);


  浮点数(float)


  str.Format("%f",i);


  字符串指针(char *)等已经被CString构造函数支持的数据类型可以直接赋值


  str = username;


  五、BSTR、_bstr_t与CComBSTR


  CComBSTR、_bstr_t是对BSTR的封装,BSTR是指向字符串的32位指针。


  char *转换到BSTR可以这样: BSTR b=_com_util::ConvertStringToBSTR("数据"); //使用前需要加上头文件comutil.h


  反之可以使用char *p=_com_util::ConvertBSTRToString(b);


  六、VARIANT 、_variant_t 与 COleVariant


  VARIANT的结构可以参考头文件VC98\Include\OAIDL.H中关于结构体tagVARIANT的定义。


  对于VARIANT变量的赋值:首先给vt成员赋值,指明数据类型,再对联合结构中相同数据类型的变量赋值,举个例子:


  VARIANT va;


  int a=2001;


  va.vt=VT_I4; //指明整型数据


  va.lVal=a; //赋值


  对于不马上赋值的VARIANT,最好先用Void VariantInit(VARIANTARG FAR* pvarg);进行初始化,其本质是将vt设置为VT_EMPTY,下表我们列举vt与常用数据的对应关系:


  unsigned char bVal; VT_UI1


  short iVal; VT_I2


  long lVal; VT_I4


  float fltVal; VT_R4


  double dblVal; VT_R8


  VARIANT_BOOL boolVal; VT_BOOL


  SCODE scode; VT_ERROR


  CY cyVal; VT_CY


  DATE date; VT_DATE


  BSTR bstrVal; VT_BSTR


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇在MFC中使用SQlite数据库读取数据 下一篇errorLNK2001:无法解析的外部符号

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目