C语言提供了几个标准库函数,可以将任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数将整数转 换为字符串的一个例子:
atoi 把字符串转换成整型数
itoa 把一整数转换为字符串
- #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");
- }