#include #include char *ultoa(unsigned long x,char *buf,int radix) { char work[33]; register char *p = work + sizeof work; *--p = 0; do { char digit = x % radix; *--p = (digit < 10) ? digit + '0' : digit - 10 + 'A'; } while (x /= radix); return strcpy(buf,p); } char *ltoa(long x,char *buf,int radix) { if (x<0) { buf[0] = '-'; ultoa(-x,buf+1,radix); } else ultoa(x,buf,radix); return buf; }