• 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

  • 相关阅读:
    看了一下unity5.6的新功能 以及Timeline
    摄像机旋转约束问题及解决
    MeshCollider双面化脚本
    js模块化历程
    用“MEAN”技术栈开发web应用(一)AngularJs前端架构
    简单一招实现json数据可视化
    基于zepto的移动端日期+时间选择插件
    我们的创业项目是如何夭折的
    前端资源预加载并展示进度条
    轻量级移动端日期选择器
  • 原文地址:https://www.cnblogs.com/wjq13752525588/p/11758579.html
Copyright © 2020-2023  润新知