首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >int string相互转换

int string相互转换

作者头像
用户1215536
发布2018-02-05 15:43:38
1K0
发布2018-02-05 15:43:38
举报

一、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;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-09-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档