[an error occurred while processing this directive]
|
char *itoh(int i, char *s)
{
if(i == 0)
{
*s = '0';
*(s+1) = 0; // Append string terminator
}
else {
char d = i % 16;
itoh(i / 16, s+1);
*s = (d <= 9) ? d + '0' : d - 10 + 'A';
}
return s;
}
//
// Итеративный вариант функции преобразования
//
char *itoh(unsigned i, char *s)
{
char count = 4; // Set digit counter
char ch; // Temp location*(s += 4) = 0; // Set pointer to string end
// and set string terminator
do { // Do the conversion
*--cp = ((ch = (char)i & 0x0F) <= 9)? ch+'0' : ch+'A'-10;
i >>= 4;
}
while (--count);return s;
}
E-mail: info@telesys.ru