原文地址

C++本身就提供了字符串与整型数之间的互换,那就是利用stringstream。下面是使用方法:

核心: 利用C++中的stringstream流。


由于使用过程比较简单就不再赘述,直接给出示例,重要的地方在示例注释中给予说明。




完整示例:


#include <iostream>


#include <string>


#include <sstream> //要使用stringstream流应包含此头文件


using namespace std;




int main()


{


stringstream stream; //声明一个stringstream变量


int n;


string str;




//string转int


stream << "1234"; //向stream中插入字符串"1234"


stream >> n; //从stream中提取刚插入的字符串"1234" 并将其赋予变量n完成字符串到int的转换


cout << n << endl; //输出n




stream.clear(); //同一stream进行多次转换应调用成员函数clear




//int转string


stream << 1234; //向stream中插入整型数1234


stream >> str; //从steam中提取刚插入的整型数 并将其赋予变量str完成整型数到string的转换


cout << str << endl; //输出str


return 0;


}




上面方法很简便, 缺点是处理大量数据转换速度较慢..

C library中的sprintf, sscanf 相对更快



可以用sprintf函数将数字输出到一个字符缓冲区中. 从而进行了转换...

例如:

已知从0点开始的秒数(seconds) ,计算出字符串"H:M:S", 其中H是小时, M=分钟,S=秒



         int H, M, S;

        string time_str;

        H=seconds/3600;

        M=(seconds%3600)/60;

        S=(seconds%3600)%60;

        char ctime[10];

        sprintf(ctime, "%d:%d:%d", H, M, S); // 将整数转换成字符串

        time_str=ctime; // 结果






与sprintf对应的是sscanf函数, 可以将字符串转换成数字



    char str[] = "15.455";

    int i;

    float fp;

    sscanf( str, "%d", &i ); // 将字符串转换成整数 i = 15

    sscanf( str, "%f", &fp ); // 将字符串转换成浮点数 fp = 15.455000

    //打印

    printf( "Integer: = %d ", i+1 );

    printf( "Real: = %f ", fp+1 );


    return 0;

最新文章

  1. ie9 placeholder兼容
  2. swoole 使用 1
  3. URAL 1416 Confidential --最小生成树与次小生成树
  4. 2014.7建兰NOIP模拟Day1 Running
  5. vijosP1115 火星人
  6. isEqual
  7. Swift基础语法学习总结二
  8. Android系统Surface机制的SurfaceFlinger服务的线程模型分析
  9. 【百度地图API】获取行政区域的边界
  10. SpringMVC 学习-异常处理 SimpleMappingExceptionResolver 类
  11. java入门知识
  12. Python入门之Python在Win10环境下的配置(图文教程)
  13. hdu 5750 Dertouzos 素数
  14. Android LK Bootlaoder启动概览
  15. MongoDB小东西
  16. Django介绍
  17. 解决Windows下mysql无法启动1067错误
  18. poj 3279(暴力)
  19. Android OpenGL ES 开发(N): OpenGL ES 2.0 机型兼容问题整理
  20. linux每日命令(20):find命令概览

热门文章

  1. MySql学习笔记【三、表相关操作】
  2. Go学习笔记【一、概述】
  3. 第十三章&#183;Kibana深入-使用地图统计客户端IP
  4. bisect:维护一个有序的列表
  5. BLE 5协议栈-主机控制接口(HCI)
  6. Linux系统组成和获取命令帮助2
  7. 微信获取用户列表的json字符串解析
  8. Python全部库整理
  9. pip install --upgrade pip
  10. POJ - 1185 炮兵阵地 (插头dp)