Exemple #1
0
char	*ft_itoa(int n)
{
	char	*str;
	size_t	len;
	size_t	isneg;

	isneg = ft_isneg(n);
	len = ft_countnb(n) + isneg;
	str = ft_strnew(len);
	if (str)
	{
		while (len--)
		{
			if (len == 0 && isneg)
				str[len] = '-';
			else
			{
				if (isneg)
					str[len] = -(n % 10) + 48;
				else
					str[len] = (n % 10) + 48;
				n = n / 10;
			}
		}
		return (str);
	}
	return (NULL);
}
Exemple #2
0
static char				*calc(int n, int i, char *chain)
{
	int				isneg;
	unsigned int	nb;

	isneg = ft_isneg(n);
	if (isneg == 1)
		nb = n * -1;
	else
		nb = n;
	while (nb > 0)
	{
		chain[i] = ((nb % 10 + 48));
		nb = nb / 10;
		i++;
	}
	if (isneg == 1)
	{
		chain[i] = '-';
		i++;
	}
	chain[i] = '\0';
	ft_strrev(chain);
	return (chain);
}
Exemple #3
0
char		*ft_itoa(int nb)
{
	int		i;
	char	*str;
	int		isneg;

	if (nb == 0 || nb == -2147483648)
		return ((nb == 0) ? ft_strdup("0") : ft_strdup("-2147483648"));
	i = 0;
	isneg = 0;
	if (nb < 0)
	{
		i++;
		isneg = 1;
		nb = nb * (-1);
	}
	i = ft_itoa_count(nb) + i;
	str = malloc(sizeof(char) * i + 1);
	if (!str)
		return (NULL);
	str[i] = '\0';
	while (nb)
	{
		str[--i] = (nb % 10) + '0';
		nb = nb / 10;
	}
	return (ft_isneg(isneg, str));
}
Exemple #4
0
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);
}