我们写程序的时候经常会遇到整型和字符串相互转换的问题,这里要用到几个函数,itoa(),atoi(),以下是这几个函数的具体用法。
itoa
功 能:把一整数转换为字符串
用 法:char *itoa(int value, char *string, int radix);
详细解释:itoa是英文integer to
array(将int整型数转化为一个字符串,并将值保存在数组string中)的缩写.
参数:
value: 待转化的整数。
radix:
是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
* string: 保存转换后得到的字符串。
返回值:
char * : 指向生成的字符串, 同*string。
备注:该函数的头文件是"stdlib.h"
程序例:
#include <stdlib.h>
#include <stdio.h>
int main()
{
int number = 123456;
char string[25];
itoa(number, string, 10);
printf("integer = %d string = %s\n", number, string);
return 0;
}
注释:编译系统:VC++6.0,TC不支持。
atoi
C语言库函数名: atoi
功 能: 把字符串转换成整型数.
名字来源:array to integer 的缩写.
函数说明: atoi()会扫描参数nptr字符串,如果第一个字符不是数字也不是正负号返回零,否则开始做类型转换,之后检测到非数字或结束符 \0
时停止转换,返回整型数。
原型: int atoi(const char *nptr);
需要用到的头文件: #include <stdlib.h>
程序例:
1)
#include <stdlib.h>
#include <stdio.h>
int main()
{
int n;
char *str = "12345.67";
n =
atoi(str);
printf("string = %s integer = %d\n", str, n);
return
0;
}
执行结果
string = 12345.67 integer = 12345
2)
#include <stdlib.h>
#include <stdio.h>
int
main()
{
char a[] = "-100" ;
char b[] = "123" ;
int c
;
c = atoi( a ) + atoi( b ) ;
printf("c = %d\n", c) ;
return 0;
}
执行结果
c = 23