C++的库定义了三种类:istringstream、ostringstream和stringstream,分别用来进行流的输入、输出和输入输出操作。利用这3个类的输入,输出操作可以很简单的对数据类型转换

用输入操作来改变数据类型
istringstream stream;
string result=”123456”;
int n=0;
stream << result; //从字符串输入
stream >> n;  //输出到int
n 就等于123456了

可以使用一个模板使其更加调用通用化

template
DataType CExp(const char *lpsz)
{
 DataType ret;
 assert(lpsz != NULL);
 const std::string str(lpsz);
 std::istringstream istr(str);
 istr >> ret;
 return ret;
}

而用输出操作可将各种类型转换为string
以下是实现模板
template
string CStr(const DataType& data)
{
 std::ostringstream ostr;
 ostr << data;
 return ostr.str();
}

使用实例:
int i = 0;
i = CExp("1234");
cout << "i == " << i << endl;

string strConv;
strConv = CStr(1234);

利用C++的stringstream对各种数据类型转换相关推荐

  1. 使用C++ stringstream来进行数据类型转换

    在C++中如何进行各种数据类型的转换呢?比如整数转字符串, 字符串转换为整数? 在ANSI C中我们通常采用atoi或是itoa函数, 或者使用scannf, snprintf等方法.在C++中其实也 ...

  2. C++-std:stringstream【数据类型转换、多个字符串拼接、分割字符串】

    首先,需要包含头文件<sstream>: #include <sstream> <sstream> 定义了三个类:istringstream.ostringstre ...

  3. python转化成字符串_如何利用Python将其他数据类型转换成字符串类型

    Python设计语言中有一类常用的数据类型:字符串数据类型.字符串数据类型定义的变量可以使用双引号或单引号将字符括起来,除了字符串数据类型,还有其他的数据类型,如整型.布尔型.列表.字典.元组.可以将 ...

  4. Java 数据类型转换

    学而时习之,温故而知新. 数据类型转换,先放一张图,了解数据类型 简单数据类型之间的转换又可以分为: 1 低级到高级的自动类型转换 2 级到低级的强制类型转换 3 包装类过渡类型转换. (有时候我们有 ...

  5. sql数据类型转换(cast() and convent())函数)

    sql数据类型转换(cast() and convent())函数) sql数据类型转换(cast() and convent())函数) 当 Microsoft® SQL Server™ 2000 ...

  6. FPGA之道(25)VHDL数据类型转换函数与数据对象的属性

    文章目录 数据类型转换函数 数据对象的属性 数值类属性 Signal属性 数据类型转换函数 在VHDL的众多数据类型中,归根到底,它们都是要用二进制数来表示的,所以它们之间几乎都是可以相互转换的.在有 ...

  7. 8.0强行转换后变成了7_【自学C#】|| 笔记 12 数据类型转换

    一.数据类型转换 C# 是一门强类型语言,对类型要求比较严格,但是在一定的条件下也是可以相互转换的,如将 int 型数据转换成 double 型数据. C# 允许使用两种转换方式:隐式类型转换和显式类 ...

  8. Python基本语法_强制数据类型转换

    目录 目录 前言 软件环境 Python数据类型的显式转换 显式转换的多种类型 Non-String转换为String str函数 repr str和repr的区别 eval Non-int转换为in ...

  9. matlab int8 矩阵,unit8_matlab数据类型转换——int8转换成unit8

    在一个驱动程序中看到uint16,uint32,unit8,int8... uint16 :无符号16bit整数, uint32:无符号32bit整数, unit8:无符号8bit整数, int8:有 ...

  10. Java数据类型转换全解

    Java数据类型转换全解 我们知道Java语言是典型的支持面向对象的程序语言,但考虑到有些基本Java数据类型的结构简单,占内存小且存取速度快等优点,Java依然提供了对这些非面向对象的简单Java数 ...

最新文章

  1. Java发送邮件的简单实现
  2. laravel框架的基础学习路线(不带composer的)
  3. 派生类的友元与析构【C++继承】
  4. (转)关于WSAEWOULDBLOCK
  5. for循环一定要指定键么 vue_vue的for循环使用方法
  6. 修改linux系统iqn,linux iSCSI target配置全过程
  7. react入门--------安装react
  8. 11集成计划的制定与实施
  9. 给考研迷茫中的你的一封信
  10. linux修改端口监听地址,修改nginx/Tomcat等Web服务的端口监听地址
  11. matlab 算法转 c语言,matlab
  12. PSP1000/2000/3000 PSPgo全主机介绍(2)
  13. Unity3D 资源加载 Resources.Load
  14. 数据库语句删除数据库
  15. Mybatis中取循环获取 Oracle自增序列 重复值问题
  16. 2020iOS开发工程师面试题汇总(内含面试技巧)-看完BATJ面试官对你竖起大拇指!
  17. 数据产品经理的具象化
  18. php 坦克大战,js坦克大战以实现炮弹击中目标消失并且记分
  19. 【Java练习】2022个人所得税计算
  20. CodeBlocks控制台中文乱码

热门文章

  1. 2021高考成绩河北查询时间,2021年高考成绩什么时候出来-2021高考成绩公布时间...
  2. cmake使用介绍【转】
  3. [数论]莫比乌斯反演入门
  4. gdisk 创建和维护磁盘分区命令(GPT分区方案)
  5. Linux下Oracle中sqlplus上下键乱码问题
  6. oracle 模拟 mysql,mysql通过表和function模拟oracle的sequence
  7. 获取当前节点之后的同级节点_04面试常问:分库分表之后,id 主键如何处理?...
  8. linux php-cli,php cli - shell语言的扩展利器 - Linux进阶, PHP技术 - freemouse-笔记-感悟-成长...
  9. matlab如何动态输出很长的图片,Qt实现长图片的放大缩小以及动态显示
  10. 广东省大学计算机应用基础考试试题,2021年广东省对口考试要做哪些题目?计算机应用基础(Windows7+office2010)周测月考单元卷...