#include <stdio.h> char* Lx_itoaEx(long value, char* str, long radix) { static char dig[] = "0123456789" "abcdefghijklmnopqrstuvwxyz"; long n = 0, neg = 0; unsigned int v; char* p, *q; char c; if (radix == 10 && value < 0) { value = -value; neg = 1; } v = value; do { str[n++] = dig[v%radix]; v /= radix; } while (v); if (neg) str[n++] = ‘-‘; str[n] = ‘\0‘; for (p = str, q = p + (n-1); p < q; ++p, --q) c = *p, *p = *q, *q = c; return str; } int main() { long p = 10; char str[32]; Lx_itoaEx(p,str,2); char str2[33]; sprintf(str2,"%0*d%s",32-strlen(str),0,str); printf("%s",str2); return 0; }
原文:https://www.cnblogs.com/hshy/p/13231587.html