C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子:
atoi 把字符串转换成整型数
itoa 把一整数转换为字符串
转自:www.software8.com
#include "stdio.h" #include "ctype.h" #include "stdlib.h" /* Converts a character string into an int or long 将一个字符串转化为整数 */ int my_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; } /* Converts an int or long into a character string 将一个整数转化为字符串 */ void my_itoa(int n,char s[]) { int i,j,sign; if((sign=n)<0) //记录符号 n=-n; //使n成为正数 i=0; do{ s[i++]=n%10+'0'; //取下一个数字 }while((n/=10)>0); //循环相除 if(sign<0) s[i++]='-'; s[i]='\0'; for(j=i-1;j>=0;j--) //生成的数字是逆序的,所以要逆序输出 printf("%c",s[j]); } void main() { int n; char str[100]; my_itoa(-123,str); printf("\n"); printf("%d\n",my_atoi("123")); system("pause"); }