• 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 流只能单次使用

  • 相关阅读:
    项目代码风格要求
    命名规范
    五招四十二式
    PMBok项目管理
    敏捷软件开发要点
    设计一种前端数据延迟加载的jQuery插件(2)
    为什么Java byte 类型的取值范围是-128~127 (转)
    Xcode编译时出现cannot run using the selected device提示
    mac下的常用操作
    iOS用AVAudioPlayer播放m4a音频
  • 原文地址:https://www.cnblogs.com/neverth/p/11760946.html
Copyright © 2020-2023  润新知