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

  短整型(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

VC++类型转换的更多相关文章

  1. vc类型转换函数大全

    windows c++中存在各种类型,在实际应用过程中也需要将类型互相转换,故整理了常用类型之间的转换并将之封装成函数,仅供参考,有什么不对的地方,还请指正!   ****************** ...

  2. 【转载】VC++中的图像类型转换--使用开源CxImage类库

    一.CxImage类库简介 这只是翻译了CxImage开源项目主页上的部分简介及简单使用. CxImage类库是一个优秀的图像操作类库.它可以快捷地存取.显示.转换各种图像.有的读者可能说,有那么多优 ...

  3. VC++中的CString、char、int类型转换

    1.如何将CString类型的变量赋给char*类型的变量   方法一:GetBuffer函数  使用CString::GetBuffer函数.  char *p;  CString str=&quo ...

  4. 当C++多继承遇上类型转换[转]

      1 由来 客户用陈旧的VC++6.0进行项目开发,有一块功能需要我来实现.让一个早就习惯了VS2013的人去使用C++支持不太好的VC6去做开发实在是非常不爽,于是另辟蹊径,打算使用VC++201 ...

  5. 用VC进行COM编程所必须掌握的理论知识

    一.为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的COM编程,目标只有一个,就是希望软件能象积方块一样是累起来的,是组装起来的,而不是一点点编出来的.结构化编程 ...

  6. 【应用笔记】【AN003】VC++环境下基于以太网的4-20mA电流采集

    简介 4-20mA电流环具有广泛的应用前景,在许多行业中都发挥着重要作用.本文主要介绍了以太网接口的4-20mA电流采集模块在VC++环境下进行温度采集,实现WINDOWS平台对数据的采集.分析及显示 ...

  7. 关于强制类型转换(c语言)

    因为今天看的代码中用到了结构体的强制类型转换,就很想了解一下结构体的强制类型转换是怎样的. 一个结构体如下: 在下面这段代码中rbuf->reqCmdBuf是一个空指针,首先将这个空指针赋值给一 ...

  8. VC操作ADO的基本策略

    一.ADO概述 ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口.ADO 使您能够编写应用程序以通过 OLE. DB 提供者访问和操作数据 ...

  9. 有关C++ std::string 类的类型转换 其他语言永远无法理解的伤

    最近做了个项目,C++的MFC窗口程序,一个基于dialog的学生-图书管理系统,有一些感触,最后会放上一些项目截图和部分代码提供大家参考.如果有什么好方法和建议欢迎指导. 强类型,为什么这么伤 我知 ...

随机推荐

  1. Pytest从测试类外为测试用例动态注入数据

    今天Nelly问我Pytest能不能支持从TestClass类外传入参数?从类外批量传入各个test方法需要的参数.因为数据文件可能有很多情况,不方便依次匹配. 然而又必须用类对用例进行归类及复用,数 ...

  2. java权限管理与用户角色权限设计

    java权限管理与用户角色权限设计 实现业务系统中的用户权限管理 B/S系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器 ...

  3. docker安装hbase

    .下载安装Hbase: ().docker search hbase : 查找Hbase ().docker pull harisekhon/hbase:1.3 注意:不要安装最新版本的,不稳定 (我 ...

  4. Alpha项目冲刺! Day4-产出

    各个成员今日完成的任务 林恩:任务分工,博客撰写,了解安卓环境搭建 杨长元:安卓本地数据库基本建立 李震:学习 胡彤:完善服务端 寇永明:学习 王浩:学习 李杰:学习 各个成员遇到的问题 林恩:为自己 ...

  5. cross socket和msgpack的数据序列和还原

    cross socket和msgpack的数据序列和还原 procedure TForm1.Button1Click(Sender: TObject); begin var pack: TSimple ...

  6. Logback 输出 JPA SQL日志 到文件

    Logback 输出 JPA SQL日志 到文件 使用Spring Boot 配置 JPA 时可以指定如下配置在控制台查看执行的SQL语句 spring.jpa.show-sql=true Sprin ...

  7. linux操作利器alias用法

    写在前边 学习这件事,有时候并不一定很刻意,而是从生活,从经验中去积累,不知道什么时候就发生了. type 命令 一般情况下,type命令被用于判断另外一个命令是否是内置命令,但是它实际上有更多的用法 ...

  8. Java面试之http知识点(必问)

    Java面试之http知识点(必问)   版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/q ...

  9. Eclipse整合SSM框架+AOP+全局异常处理

    永久有效 链接: https://pan.baidu.com/s/1FlSP3a4Px05j3bB_miCOPQ 提取码: aa8w

  10. jmeter 查看结果树,获取响应体写法校验是否提取写法是否正确的方法

    JSON Path Expression里面写入提出值的写法,点击Test测试提取