zoukankan      html  css  js  c++  java
  • int和string的相互装换 (c++)

    int和string的相互装换 (c++)


    int转换为string

    • 第一种方法
      to_string函数,这是c++11新增的函数
    string to_string (int val);
    string to_string (long val);
    string to_string (long long val);
    string to_string (unsigned val);
    string to_string (unsigned long val);
    string to_string (unsigned long long val);
    string to_string (float val);
    string to_string (double val);
    string to_string (long double val)

    这个函数还是非常的方便的

    int a = 0;
    cout << to_string(a) + "这是个字符串"<< endl;
    
    输出时会输出 "0这是个字符串" 
    • 第二种方法
      借助字符串流,标准库定义了三种类型字符串流:istringstream,ostringstream,stringstream
      看名字就知道这几种类型和iostream中的几个非常类似,分别可以读、写以及读和写string类型,它们也确实是从iostream类型派生而来的。
      要使用它们需要包含sstream头文件。
    include<sstream>
    
    int a = 0;
    string b;
    ostringstream os;//定义一个string输出流
    os << a;//将a输出到string流中
    b = a.str();

    注意ostringstream 流只能单次使用,即一次只能将一个int变量输入转为string变量输出,不可以重复使用

    string型转int型

    • 第一种方法
      采用标准库中atoi函数,需要文件头 < stdlib.h>
    string s = "888";   
    int a = atoi(s.c_str());  

    同样的,还有浮点型atof(),long long 型atoll()等等

    • 第二种方法
      C++11中的stoi
    string s = "888";  
    int n = stoi(str);  

    同样的还有stol,stoll等等函数。

    • 第三种方法
      借助字符串流,这个可以int转string,可以string转int
    include<sstream>
    
    istringstream is("888"); //构造输入字符串流,流的内容初始化为“12”的字符串   
    int i;   
    is >> i; //从is流中读入一个int整数存入i中  

    和上面一样,注意ostringstream 流只能单次使用

  • 相关阅读:
    一步步学习MDL[3]
    一步步学习MDL[0]
    .net下ckeditor+ckfinder+SyntaxHighlighter三集成demo
    页面跳转如何进入一个嵌套在Iframe中的页面中
    解决iframe,div在移动设备上实现局部刷新的方法
    SQL三种东西永远不要放到数据库里
    悟透JavaScript
    Js 常用日期汇总
    js_兼容IE和FF
    SQL中字符串类型转换为时间类型
  • 原文地址:https://www.cnblogs.com/neverth/p/11760946.html
Copyright © 2011-2022 走看看