zoukankan      html  css  js  c++  java
  • int string相互转换

    一、itoa()和atoi()

    注意:这两个函数并不是标准的C函数,而是windows环境下特有的函数。

    1、itoa

    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
        int num=12345;
        string str;
        char s[30];
        itoa(num,s,10);
        str=str+s;
        cout<<str;
        return 0;
    }

    这里要注意:使用itoa是一定要使用char[]过度一下,如果直接使用string的话,可能是由于没有提前申请内存的原因,虽然调试的时候有值,但是实际输出是没值的。

    如下面这段代码就没有任何输出。

    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
        int num=12345;
        string str;
        //char s[30];
        string s;
        itoa(num,(char *)s.c_str(),10);
        str=str+s;
        cout<<str;
        return 0;
    }

    2、atoi

    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
        int num;
        string str="12345";
        num=atoi(str.c_str());
        cout<<num;
        return 0;
    }

    二、stringstream

    将stringstream看成一个万能类型,可以吞下任何类型的数据,也可以根据目标类型输出任何类型数据。

    注意:1、使用是包含头文件sstream

            2、多次使用同一个stringstream变量时,中间要使用.clear()方法进行清空

    #include<iostream>
    #include<string>
    #include<sstream>
    using namespace std;
    int main()
    {
        int num_in=12345;
        string str_in="45678";
        string str_out;
        string num_out;
        stringstream ss;
        ss<<num_in;
        ss>>str_out;
    
        ss.clear();
    
        ss<<str_in;
        ss>>num_out;
        cout<<str_out<<num_out;
        return 0;
    }
  • 相关阅读:
    IE调试页面总结
    解决XAMPP不能启动Apche服务问题
    WCF与Ajax开发实践系列课程
    Team Foundation 中的错误和事件消息
    设置SVN提交日志必填
    MyBatis.Net 学习手记
    PandorBox 中安装aria2失败的解决办法
    Linux 启动出现 busybox vx.x.xx built-in shell 的问题
    Sql Server 中查询存储过程的修改时间
    ubuntu挂载和挂载NTFS分区命令
  • 原文地址:https://www.cnblogs.com/bewolf/p/4779436.html
Copyright © 2011-2022 走看看