diff options
Diffstat (limited to 'libft/ft_putu128x_fd.c')
-rw-r--r-- | libft/ft_putu128x_fd.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/libft/ft_putu128x_fd.c b/libft/ft_putu128x_fd.c new file mode 100644 index 0000000..01989b4 --- /dev/null +++ b/libft/ft_putu128x_fd.c @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_putu128x_fd.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: kdx <kdx @student.42angouleme.fr +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2022/09/29 02:29:50 by kdx #+# #+# */ +/* Updated: 2022/10/04 05:58:16 by kdx ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +size_t ft_putu128x_fd(t_u128 n, int fd, int capitalize) +{ + t_u128 div; + size_t rv; + const char *set; + + set = "0123456789abcdef"; + if (capitalize) + set = "0123456789ABCDEF"; + rv = 0; + div = 1; + while (div <= n / 16) + div *= 16; + while (div > 0) + { + rv += ft_putchar_fd(set[n / div % 16], fd); + div /= 16; + } + return (rv); +} |