C++进制转换函数

其他进制转换10进制——》strtol函数  头文件cstdlib

C 库函数 long int strtol(const char *str, char **endptr, int base) 把参数 str 所指向的字符串根据给定的 base 转换为一个长整数(类型为 long int 型),base 必须介于 2 和 36(包含)之间,或者是特殊值 0。

*str指向的字符串中,开头和结尾的空格会被忽视,中间的空格会被当成非法字符。

strtol(x,y,z) x是要转化的 char型数组,y返回的是buffer里面首位非法字符地址 ,z是目标进制,y也可以设置成NULL不返回值。

例:

   
    char buffer[20]="100@@@379";
	char *stop;
	printf("%d\n",strtol(buffer, &stop, 36));
	printf("%s\n", stop);
输出结果:1296
          @@@379

 

10进制转换其他进制——》itoa函数 头文件cstdlib

返回值是char类型。itoa(num,str,base);num是int型要转换的数,str是返回的地址,base是,目标进制。

int num,base;
stirng str;
	char str[100];
	cin>>num>>base;
	cout<

 

 

 

你可能感兴趣的:(C++)