atoi
头文件:#include<stdlib.h>
函数声明: *int atoi(const char str)
功能: 把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。
参数:str --要转换为整数的字符串。
返回值:该函数返回转换后的长整数,如果没有执行有效的转换,则返回零。
使用举例:
#include<stdio.h>
#include<stdlib.h>
int main()
{
char str[]="1234";
int i=0;
i=atoi(str); //将字符串str转换为整数
printf("整数i = %d\n",i);
return 0;
}
结果:
itoa
头文件:#include<stdlib.h>
函数声明:char* itoa(int value,char* string,int radix)
功能:itoa()函数把整数转换成字符串,并返回指向转换后的字符串的指针。
返回值:返回指向str的指针。
用法: int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等,大小应在2-36之间。
具体使用看下面的例子:
#include<stdio.h>
#include<stdlib.h>
int main()
{
char string[20];
int value = 128;
printf("%s\n",itoa(value,string,10)); //按十进制进行转换
printf("%s\n",itoa(value,string,2)); //按二进制进行转换
printf("%s\n",itoa(value,string,16)); //按十六进制进行转换
return 0;
}
结果:
这两个·函数是在解决字符串与整数相互转换的问题时经常被使用的函数,于此具有相同功能且更加强大的函数还有:sscanf、sprintf。
关于两个函数的具体使用以及需要留意的一些坑,请大家查看我之前写得博客:
字符串序列化神器《sscanf》《sprintf》的使用