davy (11/23/82)
#N:pur-ee:15500005:000:1069 pur-ee!davy Nov 23 00:39:00 1982 /* * Due to popular demand, I am posting a copy of my itoa() routine. * Be careful what you pass this routine, note that "n" is declared * as a long. This will really barf on an 11/70 when you hand it * an int.....I suppose I could have made it a union, but I'm lazy... * * --Dave Curry * pur-ee!davy */ /* * itoa - converts an integer n to characters, represented in base base. Any * base from 2-36 is legal. */ char *itoa(n, base) long n; short base; { int i, j; long sign; static char s[100]; if ((base < 2) || (base > 36)) return(0); if ((sign = n) < 0) n = -n; i = 0; do { if (base <= 10) s[i++] = n % base + '0'; else { j = n % base; if (j < 10) s[i++] = j + '0'; else s[i++] = (j-10) + 'a'; } } while ((n /= base) > 0); if (sign < 0) s[i++] = '-'; s[i] = '\0'; reverse(s); return(s); } reverse(s) char *s; { int c, i, j; for (i=0, j = strlen(s)-1; i < j; i++, j--) { c = s[i]; s[i] = s[j]; s[j] = c; } } /* --------- If you don't see this line, you're article got zapped --------- */