コード例 #1
0
ファイル: ft_itoa_base.c プロジェクト: xSkyZie/42
char			*ft_itoa_base(int value, int base)
{
	int		sign;
	int		count;
	char	*str;

	count = 0;
	sign = is_negative(&value);
	if (base < 2 || base > 16)
		return ("");
	if (value == 0 || value == -0)
		return ("0");
	if (value == -2147483648)
		return ("-2147483648");
	if (value == 2147483647)
		return ("2147483647");
	if ((str = ft_strnew(ft_getlen(value, base) + sign))
			== NULL)
		return (NULL);
	count = ft_getstr(value, base, str);
	if (sign < 0 && base == 10)
		str[count++] = '-';
	str[count] = '\0';
	ft_strrev(str);
	return (str);
}
コード例 #2
0
ファイル: ft_itoa.c プロジェクト: Vesta-nna/get_next_line
char	*ft_itoa(int n)
{
	char	*ret;
	int		len;

	if (n == -2147483648)
		return (ft_strdup("-2147483648"));
	ft_getlen(&len, n);
	ret = (char *)malloc(sizeof(char) * (len + 1));
	if (ret != NULL)
	{
		ft_putnbr_str(ret, len, n);
		ret[len] = '\0';
	}
	return (ret);
}
コード例 #3
0
ファイル: ft_itoa.c プロジェクト: Apercu/libft
char		*ft_itoa(int n)
{
	char	*str;
	int		len;

	if (n == -2147483648)
	{
		return (ft_strdup("-2147483648"));
	}
	len = ft_getlen(n);
	str = ft_strnew(len);
	if (!str)
	{
		return (NULL);
	}
	return (ft_itoa_it(n, str));
}
コード例 #4
0
ファイル: ft_itoa.c プロジェクト: fscheepe/fscheepe
char		*ft_itoa(int n)
{
	int		isneg;
	char	*str;
	int		len;

	isneg = ft_isneg(n);
	len = ft_getlen(n) + isneg;
	str = (char *)malloc(sizeof(char) * len);
	if (ft_isneg(n))
	{
		n = n * -1;
		str[0] = '-';
	}
	while (len-- > isneg)
	{
		str[len] = n % 10 + '0';
		n = n / 10;
	}
	return (str);
}