C++里的int 和string类型相互转换

C++不像Java和C#一样在进行数据类型转换时直接调用一些类方法就可以了,使用起来很简单。

  一个很简单的例子就是string str=“D:\\”+1+“.txt”;这在Java或者C#里面是可以自动拆箱和包

箱就可以了,但是在C++里面是不可以的。当然这只有一个文件还好,但是当我们要使用for循环去遍

厉一个文件夹下的1,2,3...命名的文件时或许就有点麻烦了。由于我自己碰到过这种情况,所以这里写

写几种方法。或许不是最好的方法,但是权当练练笔了,如果你发现错误或者有更好的方法欢迎指教。

  方法一:这个方法比较笨就是自己写个函数如string getString(int value){},实现很简单就不写了。

通过一个个判断然后进行字符连接,最后把字符返回即可。类似的int getInt(string str){},可以把string

换为int。

  方法二:就是使用一些C++的文件流或者C的函数:

如下:

/*
C++ String 和int的相互转换
*/
#include<iostream>
#include<sstream>
using namespace std;
int main(){
    /*
    使用C标准库里面的atoi
    */
    //string to int
    string str="123";
    int value=std::atoi(str.c_str());
    cout<<"string to int value:"<<value<<endl;
    /*
    C++标准库里面,使用stringstream:
    (stringstream 可以用于各种数据类型之间的转换)
    */
    std::stringstream sstr;
    //string to int
    sstr<<"520";
    int value2;
    sstr>>value2;
    cout<<"string to int value2: "<<value2<<endl;
    //int to string
    int value3=125;
    std::stringstream sstr2;
    sstr2<<value3;
    string str2;
    sstr2>>str2;
    cout<<"int to string str2:"<<str2<<endl;
    string filepath="D:\\"+str2+".txt";
    cout<<filepath<<endl;
}

下面是结果截图:

类型,相互,c++,string,int0

 

 

 

 
 
 

文章来源:http://www.itnose.net/detail/6039693.html
更多文章:http://www.itnose.net/type/55.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值