home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / c / hce.lha / HCE / LibSource / clib / String / src / ltoa.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-02  |  680 b   |  46 lines

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