int与string类型转换


一、int到string类型转换
int类型到string类型的转换在编程中经常用到,每次都是忘了就查,然后还记不住,今天索性总结一次。
int类型转string类型的方法目前我总结出了三种,如下所示:

(1)使用itoa
#include 
#include 
using namespace std;

int main()
{
    int a = 10;
    char intstr[20];
    itoa(a,intstr,10);
    string str = string(intstr);
    cout<
这种方法不是很好用,平时我基本也没用过。
(2)使用stringstream
#include
#include 

using namespace std;

int main()
{
    int a = 10;
    stringstream ss;
    ss<
这种我用的比较多。
(3)今天新学到的一种方法,比较简便。
#include 
#include 

using namespace std;

int main()
{
    int a = 10;
    string str = to_string(a);
    cout<
注意这个函数在VS2013中是可以使用的,但是在codeblocks 16.01中却编译不通过,我大略的在网上查了一下,好像是codeblocks用的MingW的bug。具体的看这个链接 点击打开链接

二、string到int的转换

(1)使用atoi函数
#include 
#include 
using namespace std;

int main()
{
    string s = "10";
    int a = atoi(s.c_str());
    cout<
注意这里不能直接使用string类型,要把string类型转换为char型数组。
但是C++11给出了一种新的替换方法,如下所示:

#include 
#include 
using namespace std;

int main()
{
	string str = "10";
	int a = stoi(str);
	cout << a << endl;
	return 0;
}
注意这种方法在codeblocks中仍然无法通过编译。

(2)使用istringstream
#include 
#include 

using namespace std;

int main()
{
    string s = "10";
    istringstream ss(s);
    int a;
    ss>>a;
    cout<




你可能感兴趣的:(int与string类型转换)