示例:
1 #include<stdio.h> 2 #include<stdlib.h> 3 int main() 4 { 5 int a=100,d=999; 6 char b[10]="1000"; 7 char c[10]="123"; 8 9 itoa(d,c,10); 10 printf("%d ",atoi(b)-a); 11 printf("%s",c); 12 13 return 0; 14 }
结果如下:
900
999
itoa()函数有3个参数:itoa(要转换的数字,要写入转换结果的目标字符串,转移数字时所用的基数)。在上例中,转换基数为10。10:十进制;2:二进制...
itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。是Windows平台下扩展的,标准库中有sprintf,功能比这个更强,用法跟printf类似:
char str[255];
sprintf(str, "%x", 100); //将100转为16进制表示的字符串。
一、atoi()——把字符串转换成整型数
示例程序:
#include <ctype.h> #include <stdio.h> int atoi (char s[]); int main(void ) { char s[100]; gets(s); printf("integer=%d ",atoi(s)); return 0; } int atoi (char s[]) { int i,n,sign; for(i=0; isspace(s[i]); i++) //跳过空白符; sign=(s[i]=='-')?-1:1; if(s[i]=='+'||s[i]==' -')//跳过符号 i++; for(n=0; isdigit(s[i]); i++) n=10*n+(s[i]-'0');//将数字字符转换成整形数字 return sign *n; }
二、itoa()——把一整数转换为字符串
示例程序:
1 #include <ctype.h> 2 #include <stdio.h> 3 void itoa (int n,char s[]); 4 //atoi 函数:将s转换为整形数 5 int main(void ) { 6 int n; 7 char s[100]; 8 printf("Input n: "); 9 scanf("%d",&n); 10 printf("the string : "); 11 itoa (n,s); 12 return 0; 13 } 14 void itoa (int n,char s[]) { 15 int i,j,sign; 16 if((sign=n)<0)//记录符号 17 n=-n;//使n成为正数 18 i=0; 19 do { 20 s[i++]=n%10+'0';//取下一个数字 21 } while ((n/=10)>0); //删除该数字 22 if(sign<0) 23 s[i++]='-'; 24 s[i]='