C++ string与int的相互转换

今天做了两道pat的题,遇到了string和int转换的问题,决定记录下来,总结一下。

string转int:

1.先说可能经常遇到的一个问题,就是想把string中的某一个字符转成int,其实很简单

    比如:string s = "123";    

               int a; 

那么可以这样写:a = s[0] - '0';   输出a就是1

                           a = s[1] - '0'; 输出a就是2

2.还有一种情况是要把整个string字符串转成一个数字(不一定要是int)

    此时可以用到sstream头文件,这个头文件似乎非常强大,这里只是用到冰山一角...

    具体写法如下:

    int convert(string str)   //字符串转整数
    {
        stringstream s;    //这里需要include <sstream>
        int res;
        s << str;
        s >> res;
        return res;

    }

3.也可直接用atoi()函数 (转成其它类型的也都有类似的函数)

string s = "123";

int a = atoi(s.c_str());

int转string:

1.可以用sstream中定义的字符串流对象,写法和上述相似:

string itos(int i) //整数转字符串
{
    stringstream s;
    s << i;
    return s.str();

}

2.也可以用to_string函数,该函数有好多个重载

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值