示例#1
0
char					*ft_ullitoa(unsigned long long n)
{
	char				*s;

	if (!(s = (char *)malloc(sizeof(char) * 2)))
		return (NULL);
	if (n >= 10)
		s = ft_strjoin(ft_ullitoa(n / 10), ft_ullitoa(n % 10));
	else
	{
		s[0] = n + '0';
		s[1] = '\0';
	}
	return (s);
}
示例#2
0
void			ft_is_ptr(t_params *params, va_list ap)
{
	size_t		value;
	char		*c_value;

	value = va_arg(ap, UL);
	c_value = ft_ullitoa(value, 16);
	c_value = ft_max_ptr(c_value, params, value);
	ft_putstr(c_value);
	SLEN = ft_strlen(c_value);
	free(c_value);
	free(SSTR);
}
示例#3
0
int			ft_lencalc(wint_t c)
{
	char	*bin;
	int		bits;

	bin = ft_ullitoa(c, 2);
	bits = ft_strlen(bin);
	free(bin);
	if (bits < 8)
		return (1);
	else if (bits < 12)
		return (2);
	else if (bits < 17)
		return (3);
	return (4);
}
示例#4
0
char		*ft_mask_wstr(LL value)
{
	int		bits;
	char	*bin;

	bin = ft_ullitoa(value, 2);
	bits = ft_strlen(bin);
	if (bits < 8)
		return (ft_fill(ft_strdup(MASK8), bin));
	else if (bits < 12)
		return (ft_fill(ft_strdup(MASK16), bin));
	else if (bits < 17)
		return (ft_fill(ft_strdup(MASK24), bin));
	else
		return (ft_fill(ft_strdup(MASK32), bin));
}