您的位置:首页 > 编程语言 > C语言/C++

(c++) int 转 string,char*,const char*和string的相互转换

2017-10-23 11:05 645 查看

一、int 和string的相互转换

1 int 转化为 string

c++

//char *itoa( int value, char *string,int radix);

// 原型说明:

// value:欲转换的数据。

// string:目标字符串的地址。

// radix:转换后的进制数,可以是10进制、16进制等。

// 返回指向string这个字符串的指针

int aa = 30;

char c[8];

itoa(aa,c,16);

cout<<c<<endl;


2 string转化为int

使用strtol(string to long)

c++

string s = "17";

char* end;

int i = static_cast<int>(strtol(s.c_str(),&end,16));

cout<<i<<endl; // 23

i = static_cast<int>(strtol(s.c_str(),&end,10));

cout<<i<<endl; // 17


二、char*,const char*和string的相互转换

string转const char*

string s = “abc”;

const char* c_s = s.c_str();

const char*转string

直接赋值即可

const char* c_s = “abc”;

string s(c_s);

string转char*

string s = “abc”;

char* c;

const int len = s.length();

c = new char[len+1];

strcpy(c,s.c_str());

char*转string

char* c = “abc”;

string s(c);

const char*转char*

const char* cpc = “abc”;

char* pc = new char[100];//足够长

strcpy(pc,cpc);

char*转const char*

直接赋值即可

char* pc = “abc”;

const char* cpc = pc;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: