PatchworkOS
Loading...
Searching...
No Matches
ulltoa.c
Go to the documentation of this file.
1#include <stdlib.h>
2
3#include "common/digits.h"
4
5char* ulltoa(unsigned long long value, char* str, int base)
6{
7 if (base < 2 || base > 36)
8 {
9 *str = '\0';
10 return str;
11 }
12
13 if (value == 0)
14 {
15 str[0] = '0';
16 str[1] = '\0';
17 return str;
18 }
19
20 char* ptr = str;
21 char* startPtr = str;
22
23 while (value > 0)
24 {
25 *ptr++ = _digits[value % base];
26 value /= base;
27 }
28
29 *ptr-- = '\0';
30
31 char temp;
32 while (startPtr < ptr)
33 {
34 temp = *startPtr;
35 *startPtr++ = *ptr;
36 *ptr-- = temp;
37 }
38
39 return str;
40}
const char _digits[]
Definition digits.c:3
char * ulltoa(unsigned long long value, char *str, int base)
Definition ulltoa.c:5