Exemplo n.º 1
0
int		printhex(t_flag *flag, va_list args)
{
	unsigned int	nb;
	int				rslt;
	int				size;

	if (flag->length == 'l')
		return (printuhex(flag, args));
	else
	{
		nb = va_arg(args, unsigned int);
		if (flag->sharp)
			ft_putstr("0x");
		if (flag->minus)
		{
			size = ft_puthex(nb, 0, 1);
			ft_printf_space(flag->width - size, flag->zero);
		}
		else
		{
			ft_printf_space(flag->width - size, flag->zero);
			size = ft_puthex(nb, 0, 1);
		}
		size += (flag->sharp * 2);
		rslt = size < flag->width ? flag->width : size;
		return (rslt);
	}
}
Exemplo n.º 2
0
void	ft_puthex_64(uint64_t l)
{
	if (l >= 16)
	{
		ft_puthex(l / 16);
		ft_puthex(l % 16);
	}
	else
		ft_putchar(HEX[l]);
}
Exemplo n.º 3
0
void	ft_puthex(unsigned int n, char *mode)
{
	if (n > 15)
	{
		ft_puthex(n / 16, mode);
		ft_puthex(n % 16, mode);
	}
	else
	{
		if (n <= 9)
			ft_putchar(n + '0');
		else if (!ft_strcmp(mode, "min"))
			ft_putchar((n - 10) + 'a');
		else if (!ft_strcmp(mode, "maj"))
			ft_putchar((n - 10) + 'A');
	}
}
Exemplo n.º 4
0
void ft_putmem(void *str, int len)
{
	int i;

	i = 0;
	while (i < len)
	{
		printf("prinf version : %p \n", (char *)str + i);
		ft_puthex((long int)((char *)str + i));
		ft_putstr(":");
		while (i < len && (i + 1) % 16 != 0) // print 16 byte info
		{
			ft_putstr(" ");
			ft_puthex(((unsigned char *)str)[i]);
			i++;
		}
		ft_putendl("");
		i++;
	}
}
Exemplo n.º 5
0
int		ft_puthex(unsigned int nb, int i, int lowercase)
{
	int	l;

	i++;
	if (lowercase)
		l = 97;
	else
		l = 65;
	if (nb < 16)
	{
		if (nb > 9)
			ft_putchar(nb - 10 + l);
		else
			ft_putchar(nb + 48);
	}
	else
	{
		i = ft_puthex(nb / 16, i, lowercase);
		ft_puthex(nb % 16, i, lowercase);
	}
	return (i);
}