C++ 数值型 与 string的转化
int转化为string
使用itoa(int to string)
char *itoa( int value, char *string,int radix);
string 转 char[]一个一个取出来赋值
value:欲转换的数据。
string:目标字符串的地址。
radix:转换后的进制数,可以是10进制、16进制等。
返回指向string这个字符串的指针
例:
int aa = 30;
char c[8];
itoa(aa,c,16);
cout<<c<<endl;
注意:itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用stringstream。
使用stringstream
int aa = 30;
stringstream ss;
ss<<aa;
string s1 = ss.str();
cout<<s1<<endl; // 30
string s2;
ss>>s2;
cout<<s2<<endl; // 30
stringstream流互相转换
string转化为int
使用strtol(string to long)
string s = "17";
char* end;
long i = sstrtol(s.c_str(), s.end ,16);
cout<<i<<endl;
使用stringstream
string s = "17";
stringstream ss;
ss<<s;
int i;
ss>>i;
cout<<i<<endl;
stringstream使用时必须包含
#include <sstream>