char*ItoA(intvalue,char*dest,intr)
...{
if(value<0&&r!=10)
throw"Exception";
intflag=1;
if(value<0)
...{
flag=-1;
value=-value;
}
char*map="0123456789abcdef";
char*reDest=dest;
do
...{
*dest++=map[value%r];
}while(value/=r);
if(flag==-1)
...{
*dest++='-';
}
*dest='/0';
intlen=strlen(reDest);
for(inti=0,j=len-1;i<j;i++,j--)
...{
swap(reDest[i],reDest[j]);
}
returnreDest;
}
测试用例:
1.10进制 正数,负数,0
2.16进制 正数
3.0进制 (Crash)
4.进制为负
5.负16进制
6.传入的char数组长度小于生成的数字长度
7.20进制
8.dest为NULL
9.value 为 2^31-1 或 -2^31
1762

被折叠的 条评论
为什么被折叠?



