#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