strtol() 将各种进制的数转化为10进制
int strtol(char a[], &stop, int(字符串的进制))
1、第一个参数可以是char []数组,也可以是char *a;
2、第二个参数是数组char stop[];
3、第三个参数是a字符串的进制,转化之后结果都为10进制。
例子
string strs = "10549stend#12";
char *p=(char*)strs.c_str();
char *stop;
int ans=strtol(p, &stop, 8); //将八进制数1054转成十进制,后面均为非法字符
printf("%d\n",ans);
printf("%s\n", stop);
输出结果
556
9stend#12
itoa() 10进制转化为各种进制
直接上代码
char strd[100];
_itoa(num, strd, 2); //c++中一般用_itoa,用itoa也行,
string ssdd=strd;
printf("%s\n", strd);
cout<<ssdd<<endl;
num 为10进制,strd是用来存转化结果