/* * 'Integer' in Zeichenkette umwandeln */ #include itoa (n, s) register int n; register char *s; { static int decimals [] = {10000,1000,100,10}; register int *p = decimals, dec, digit, zero = TRUE; if (n < 0) { *s++ = '-'; n = -n; } do { dec = *p++; digit = '0'; while ((n -= dec) >= 0) digit++; n += dec; if (zero) { /* fuehrende Nullen unterdruecken */ if (digit == '0') continue; zero = FALSE; } *s++ = digit; } while (dec > 10); *s++ = n + '0'; /* Einerziffer */ *s = '\0'; }