home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / C / DLIBSSRC.ZIP / LTOA.C < prev    next >
Encoding:
C/C++ Source or Header  |  1987-10-12  |  697 b   |  42 lines

  1. char    _numstr[] = "0123456789ABCDEF";
  2.  
  3. char *ultoa(n, buffer, radix)
  4. register unsigned long n;
  5. register char *buffer;
  6. register int radix;
  7. {
  8.     register char *p = buffer;
  9.     char *strrev();
  10.  
  11.     do {
  12.         *p++ = _numstr[n % radix];    /* grab each digit */
  13.     } while((n /= radix) > 0);
  14.     *p = '\0';
  15.     return(strrev(buffer));            /* reverse and return it */
  16. }
  17.  
  18. char *ltoa(n, buffer, radix)
  19. register long n;
  20. register char *buffer;
  21. int radix;
  22. {
  23.     register char *p = buffer;
  24.  
  25.     if (n < 0) {
  26.         *p++ = '-';
  27.         n = -n;
  28.     }
  29.     ultoa(n, p, radix);
  30.     return(buffer);
  31. }
  32.  
  33. char *itoa(n, buffer, radix)
  34. int n;
  35. char *buffer;
  36. int radix;
  37. {
  38.     char *ltoa();
  39.  
  40.     return(ltoa(((long) n), buffer, radix));
  41. }
  42.