home *** CD-ROM | disk | FTP | other *** search
/ Total Destruction / Total_Destruction.iso / addons / Lccwin32.exe / Lccwin32 / lccpub / lib / src / i64toa.c < prev    next >
Encoding:
Text File  |  1997-09-01  |  695 b   |  44 lines

  1. char * _i64toa(__int64 v,char *str,int r)
  2. {
  3.     int i;
  4.     char digits[76],*pstr = str,result[256],*presult;
  5.  
  6.     if (r < 2) {
  7.         *str++ = '1';
  8.         *str = 0;
  9.         return pstr;
  10.     }
  11.     else if (r > 70) {
  12.         *str = 0;
  13.         return str;
  14.     }
  15.     for (i=0; i<10;i++) {
  16.         digits[i] = i+'0';
  17.     }
  18.     for (i=10;i<42;i++) {
  19.         digits[i] = i+'A';
  20.     }
  21.     for(i=42;i<74;i++) {
  22.         digits[i] = i+'a';
  23.     }
  24.     digits[74] = 0;
  25.     presult = &result[0];
  26.     if (r == 10 && v < 0)
  27.         *str++ = '-';
  28.     if (v < 0)
  29.         v = -v;
  30.     do {
  31.         i = (v % r);
  32.         *presult++ = digits[i];
  33.         v = (v/r);
  34.     } while (v);
  35.     *presult-- = 0;
  36.     while (presult != &result[0]) {
  37.         *str++ = *presult--;
  38.     }
  39.     *str++ = *presult;
  40.     *str = 0;
  41.     return pstr;
  42. }
  43.  
  44.