void itoa(char * buffer, int num, int length)
{
int i = 0;
int temp = num;
if (temp == 0)
{
for (i = 0; i < length; i++)
{
buffer[i] = '0';
}
buffer[i] = 0;
}
else
{
if (temp < 0)
{
buffer[0] = '-';
temp = -temp;
++i;
}
else
buffer[0] = '0';
while(temp != 0)
{
temp /= 10;
++i;
}
if (length > i)
i = length;
buffer[i] = 0;
--i;
temp = num;
if (temp < 0)
temp = -temp;
while(temp != 0)
{
buffer[i] = temp % 10 + '0';
temp /= 10;
--i;
}
while( i >= 0 && buffer[i] != '-')
{
buffer[i] = '0';
--i;
}
}
}
#ifndef __stdlib_h
int atoi(char * buffer)
{
int i;
int negative = 0;
int result = 0;
for (i = 0; buffer[i] == '0'; i++);
if (buffer[i] == 0)
return 0;
else
{
if (buffer[i] == '-')
{
negative = 1;
++i;
}
for (; buffer[i]; i++)
{
result *= 10;
result += buffer[i] - '0';
}
}
if (negative)
result = -result;
return result;
}
还没有评论,来说两句吧...