C语言数字与字符串转换 atoi()函数、itoa()函数、sprintf()函数
在编程中经常需要用到数字与字符串的转换,下面就总结一下。
1.atoi()
C/C++标准库函数,用于字符串到整数的转换。
函数原型:int atoi (const char * str);
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main () 4 { 5 char *numchars="1234"; 6 int num=atoi(numchars); 7 printf("%d\n",num); 8 return 0; 9 }
另外C/C++还提供的标准库函数有:
(1)long int atol ( const char * str );
(2)double atof (const char* str);
2.itoa()
不是C/C++标准库函数,用于整数到字符串的转换。
函数原型:char
*itoa(
int
value,
char
*string,
int
radix);
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main () 4 { 5 int num=1234; 6 int radix=8; 7 char res[20]; 8 itoa(num,res,radix); 9 printf("%d(10)=%s(%d)\n",num,res,radix); //输出:1234(10)=2322(8) 10 return 0; 11 }
3.sprintf()
C/C++标准库函数,可以用于整数到字符串的转换。
sprintf:Write formatted data to string。
sprintf作用是将printf的输出结果保存在字符串数组中。
1 #include <stdio.h> 2 #include <stdlib.h> 3 int main () 4 { 5 int num=1234; 6 char res[20]; 7 sprintf(res,"%0o",num); 8 printf("%s\n",res); //8进制输出:2322 9 10 sprintf(res,"%0x",num); 11 printf("%s\n",res); //16进制输出:4d2 12 return 0; 13 }