61 lines
1.5 KiB
C
61 lines
1.5 KiB
C
/* ************************************************************************** */
|
|
/* */
|
|
/* ::: :::::::: */
|
|
/* ft_putnbr_hexa.c :+: :+: :+: */
|
|
/* +:+ +:+ +:+ */
|
|
/* By: madumerg <madumerg@student.42angouleme. +#+ +:+ +#+ */
|
|
/* +#+#+#+#+#+ +#+ */
|
|
/* Created: 2023/11/15 13:11:42 by madumerg #+# #+# */
|
|
/* Updated: 2024/02/22 10:35:30 by madumerg ### ########.fr */
|
|
/* */
|
|
/* ************************************************************************** */
|
|
|
|
#include "ft_printf.h"
|
|
|
|
int ft_putnbr_hexa_low(size_t n)
|
|
{
|
|
size_t i;
|
|
|
|
i = 0;
|
|
if (n < 16)
|
|
{
|
|
i += ft_putchar("0123456789abcdef"[n % 16]);
|
|
return (i);
|
|
}
|
|
else if (n >= 10)
|
|
{
|
|
i += ft_putnbr_hexa_low(n / 16);
|
|
i += ft_putnbr_hexa_low(n % 16);
|
|
}
|
|
return (i);
|
|
}
|
|
|
|
int ft_putnbr_hexa_upp(unsigned int n)
|
|
{
|
|
unsigned int i;
|
|
|
|
i = 0;
|
|
if (n < 16)
|
|
{
|
|
i += ft_putchar("0123456789ABCDEF"[n % 16]);
|
|
return (i);
|
|
}
|
|
else if (n >= 10)
|
|
{
|
|
i += ft_putnbr_hexa_upp(n / 16);
|
|
i += ft_putnbr_hexa_upp(n % 16);
|
|
}
|
|
return (i);
|
|
}
|
|
|
|
int ft_print_ptr(void *ptr)
|
|
{
|
|
int i;
|
|
|
|
if (!ptr)
|
|
i = ft_putstr("(nil)");
|
|
else
|
|
i = ft_putstr("0x") + ft_putnbr_hexa_low((size_t)ptr);
|
|
return (i);
|
|
}
|