Пример #1
0
int			ft_putbase(uintmax_t nb, char *s)
{
	unsigned int	b;
	int				i;

	i = 0;
	b = ft_strlen(s);
	if (nb < b)
		return (ft_putchar(s[nb]));
	i += ft_putbase(nb / b, s);
	i += ft_putbase(nb % b, s);
	return (i);
}
Пример #2
0
void	ft_putbase(unsigned int n, unsigned int base)
{
	unsigned int	tmp;

	if (n >= base)
		ft_putbase(n / base, base);
	else
	{
		if (base == 8)
			ft_putchar('0');
		else if (base == 16)
			ft_putstr("0x");
	}
	tmp = n % base;
	if (tmp <= 9)
		ft_putchar(tmp + '0');
	else if (tmp > 9 && tmp <= 9 + 26)
		ft_putchar(tmp + 'A' - 10);
}
Пример #3
0
ssize_t			ft_putbase(unsigned int n, char *base)
{
	ssize_t		i;
	size_t		len;

	i = 0;
	len = ft_strlen(base);
	if (n <= len)
	{
		i += ft_putchar(*(base + n % len));
		return (i);
	}
	else
	{
		i += ft_putbase(n / len, base);
		ft_putchar(*(base + n % len));
	}
	return (i + 1);
}