• VC++类型转换


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

      短整型(int)

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

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

      长整型(long)

      Iota(I,temp,10);

      浮点数(float,doule)

      用fcvt可以完成转换,这是MSDN中的例子:

      int decimal,sign;

      char *buffer;

      decimal source = 3.1415926535;

      buffer = _fcvt(source,7,&decimal,&sign);

      运行结果:double source = 3.1415926535 buffer:'3.1415927' decimal:1 sign:0

      decimal表示小数点的位置,sign表示符号:0为正数,1为负数

      CString变量

      str=“2008北京奥运”;

      buf = (LRSTR)(LPCTSTR)str;

      BSTR变量

      BSTR bstrValue = ::SysAllocString(L“程序员”);

      char *buf = _com_util::ConvertBSTRToString(bstrValue);

      SysFreeString(bstrValue);

      AfxMessageBox(buf);

      delete(buf);

      CComBSTR变量

      CComBSTR bstrVar("test");

      char *buf = _com_util::ConvertBSTRToString(bstrVar.m_str);

      AfxMessageBox(buf);

      delete(buf);

      _bstr_t变量

      _bstr_t类型是对BSTR的封装,因为已经重载了=操作符,所以很容易使用

      _bstr_t bstrVar("test");

      const char *buf = bstrVar;///不要修改buf中的内容

      AfxMessageBox(buf);

      通用方法(针对非COM数据类型)

      用sprintf完成转换

      char buffer[200];char c= '1';int i = 35;long j= 1000;float f = 1.415615123f;sprintf(buffer,"%c",c); sprintf(buffer,"%d",i);sprintf(buffer,"%d",j);sprintf(buffer,"%f",f);

    二、字符串转换为其他数据类型

      strcpy(temp,“123”);

      短整型(int)

      i = atoi(temp);

      长整形(long)

      I = atoI(temp);

      浮点(double)

      d = atof(temp);

      CString变量

      CString name = temp;

      BSTR变量

      BSTR bstrValue = ::SysAllocString(L"程序员");

      。。。///完成对bstrValue的使用

      SysFreeString(bstrVlaue);

      CComBSTR变量

      CComBSTR变量可以直接赋值

      CComBSTR bstrVar1("test");

      CComBSTR bstrVar2("temp");

      _bstr_t变量

      _bstr_t类型的变量可以直接赋值

      _bstr_t bstrVar1("test");

      _bstr_t bstrVar2(temp);

    三、其他数据类型转换到CString

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

      整数(int)

      str.Format(“%d”,i);

      浮点数(float)

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

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

      str = username;

      对于Format所不支持的数据类型,可以通过上面所说的关于其他数据类型转化到char*的方法先转到char*,然后赋值给变量。

      参考自:https://www.jb51.net/article/117099_all.htm

  • 相关阅读:
    _src_求和案例_mapState与mapGetters
    _src_求和案例_mapMutations与mapActions
    _src_求和案例_多组件共享数据
    LLVM基础学习:LLVM的编译安装和基本使用
    LLVM基础学习:使用GDB调试一个outoftree的 LLVM Pass
    2022 618笔记本选购指北
    PHP中SERVER_NAME获取的问题
    一天一个仿lodash函数实现fill、findIndex、first、head
    一天一个仿lodash函数实现flatten
    一天一个仿lodash函数实现keyBy、groupBy、find
  • 原文地址:https://www.cnblogs.com/wjq13752525588/p/11758579.html
Copyright © 2020-2023  润新知