blob: fe4701f292141086ed9f105dd72123387c293a4f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#include <string.h>
int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase);
int __lltostr(char *s, int size, unsigned long long i, int base, char UpCase)
{
char *tmp;
unsigned int j=0;
s[--size]=0;
tmp=s+size;
if ((base==0)||(base>36)) base=10;
j=0;
if (!i)
{
*(--tmp)='0';
j=1;
}
while((tmp>s)&&(i))
{
tmp--;
if ((*tmp=i%base+'0')>'9') *tmp+=(UpCase?'A':'a')-'9'-1;
i=i/base;
j++;
}
memmove(s,tmp,j+1);
return j;
}
|