コード例 #1
0
ファイル: ft_ltoa.c プロジェクト: glinford/rt
char		*ft_ltoa(long n)
{
	int		count;
	long	signe;
	char	*result;

	count = ft_longlen(n);
	signe = 1;
	if (!n)
		return (ft_strdup("0"));
	if (n < 0)
	{
		signe = -1;
		result = (char *)malloc(sizeof(char) * ft_longlen(n) + 2);
		count++;
		result[0] = '-';
	}
	else
		result = (char *)malloc(sizeof(char) * ft_longlen(n) + 1);
	result[count] = '\0';
	while (n != 0)
	{
		result[count - 1] = (n % 10) * signe + 48;
		n = n / 10;
		count--;
	}
	return (result);
}
コード例 #2
0
ファイル: ft_longlen.c プロジェクト: Vallium/libft_42
int			ft_longlen(long n)
{
	unsigned long	b;

	if (n < 0)
		b = -n;
	else
		b = n;
	return ((b > 9) ? ft_longlen((long)b / 10) + 1 : 1);
}