当前位置: 技术问答>linux和unix
古老的问题,unix如何实现比较好用的itoa函数
来源: 互联网 发布时间:2016-03-04
本文导语: 比较普通的方法是用sprintf,这种方法的问题是需要自己在代码里为每个整数准备char空间,在频繁使用并且char空间又不能重复使用的时候,造成代码量很大,费事可读性也差,不知道大虾们们有什么好的解决方法? P...
比较普通的方法是用sprintf,这种方法的问题是需要自己在代码里为每个整数准备char空间,在频繁使用并且char空间又不能重复使用的时候,造成代码量很大,费事可读性也差,不知道大虾们们有什么好的解决方法?
PS,前提是在c环境下,无法使用c++的东西,郁闷ing。。。
PS,前提是在c环境下,无法使用c++的东西,郁闷ing。。。
|
自己写一个就了了嘛
int itoax(int _value, char* string, int _radix)
{
//余数
int imod;
//记录存放结果字符首地址
char* pStarPostion = string;
//循环取余
do{
imod = _value % _radix;
if (imod > 9)
*string++ = 0x41 + (imod-10);
else
*string++ = 0x30 + imod;
}while((_value /= _radix) > 0);
*string = '';
//将结果首尾倒置
string = pStarPostion;
int iLength = strlen(string);
char cTemp;
for(int i=0; i
int itoax(int _value, char* string, int _radix)
{
//余数
int imod;
//记录存放结果字符首地址
char* pStarPostion = string;
//循环取余
do{
imod = _value % _radix;
if (imod > 9)
*string++ = 0x41 + (imod-10);
else
*string++ = 0x30 + imod;
}while((_value /= _radix) > 0);
*string = '';
//将结果首尾倒置
string = pStarPostion;
int iLength = strlen(string);
char cTemp;
for(int i=0; i