/* * Convert integer to string, with optional leading zeros. * $Id$ * Copyright (c) 1997 by Tycho Softworks. * For conditions of distribution and reuse see product license. */ #include char *strint(long i, int z) { static char buf[30]; char b1[30]; char *p = buf, *q = b1; unsigned u; if(!i) { if(z < 1) z = 1; while(z--) *(p++) = '0'; *p = 0; return buf; } if((i < 0) && !z) { i = -i; buf[0] = '-'; ++p; } u = (unsigned)i; while(u > 0) { *(q++) = (char)(u % 10) + '0'; u /= 10; } *q = 0; z -= strlen(b1); while(z-- > 0) *(p++) = '0'; while(q > b1) *(p++) = *(--q); *p = 0; return buf; }