mokongking

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转换为二进制的字符串,再把该字符串转换为整数

posted on 2023-04-03 14:36  虎啸岳林  阅读(4116)  评论(0编辑  收藏  举报

导航