C语言itoa函数
一、atoi()函数
atoi()是C语言中的字符串转换成整型数的一个函数
(1)【头文件】#include <stdlib.h>
(2)【函数原型】int atoi (const char * str);
(3)【函数说明】atoi() 函数会扫描参数 str 字符串,跳过前面的空白字符(例如空格,tab缩进等),直到遇上数字或正负符号才开始做转换,而再遇到 非数字 或 字符串结束时(’\0’) 才结束转换,并将结果返回。函数返回转换后的整型数;如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0。
(4)【用法示例】
#include <iostream> #include <cstdlib> using namespace std; int main(){ const char *s = " 134"; int num = atoi(s); cout << num; //输出:134 return 0; }
二、itoa()函数
itoa()函数是C语言中的整型数转换成字符串的一个函数
(1)【头文件】#include <cstdlib>
(2)【函数原型】char *itoa(int value, char *string, int radix);
(3)【参数说明】
value:要转换的数据。
string:目标字符串的地址。
radix:转换后的进制数,可以是10进制、16进制等,范围必须在 2-36。
(4)【用法示例】
#include <iostream> #include <cstdlib> using namespace std; int main(){ int num = 100; char str[25]; itoa(num, str, 10); cout << str; //输出100 return 0; }
(5)【注意】
itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,需要用sprintf。C标准库中有sprintf,功能比这个更强,用法跟printf类似:
char str[255]; sprintf(str, "%x", 100); //将100转为16进制表示的字符串。 1 2
三、利用atoi() 和itoa()函数进行进制转换
如:十进制转二进制的方法
#include<cstdlib> #include<cstdio> int main() { int num = 10; char str[100]; int n = atoi(itoa(num, str, 2)); printf("%d\n",n); return 0; }
先把num转换为二进制的字符串,再把该字符串转换为整数