itoa

王朝百科·作者佚名  2010-02-14  
宽屏版  字体: |||超大  

功 能: 把一整数转换为字符串

用 法: char *itoa(int value, char *string, int radix);

头文件: <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

", number, string);

return 0;

}

/* 实现itoa函数的源代码 */

char *myitoa(int num,char *str,int radix)

{

/* 索引表 */

char index[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";

unsigned unum; /* 中间变量 */

int i=0,j,k;

/* 确定unum的值 */

if(radix==10&&num<0) /* 十进制负数 */

{

unum=(unsigned)-num;

str[i++]='-';

}

else unum=(unsigned)num; /* 其他情况 */

/* 逆序 */

do

{

str[i++]=index[unum%(unsigned)radix];

unum/=radix;

}while(unum);

str[i]='';

/* 转换 */

if(str[0]=='-') k=1; /* 十进制负数 */

else k=0;

/* 将原来的“/2”改为“/2.0”,保证当num在16~255之间,radix等于16时,也能得到正确结果 */

for(j=k;j<(i-1)/2.0+k;j++)

{

num=str[j];

str[j]=str[i-j-1+k];

str[i-j-1+k]=num;

}

return str;

}

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有