我正在重新编写printf函数。问题是有限制,例如我无法打印ULONG_MAX数字。如何在没有printf的情况下打印ULONG_MAX
printf("%lu", ULONG_MAX) gives me ->18446744073709551615
ft_putnbr(ULONG_MAX) gives me -> -1
我包括以下两个库:
<limits.h>
<locale.h>
,放在我的主要():
setlocale(LC_ALL, "");
我putnbr是这样一个基本的递归功能(与其他效果很好号码):
void ft_putnbr(int nb)
{
if (nb < 0)
{
ft_putchar('-');
nb = -nb;
}
if (nb >= 10)
{
ft_putnbr(nb/10);
ft_putnbr(nb % 10);
}
else
{
ft_putchar(nb + '0');
}
}
任何帮助将不胜感激。
显示ft_myprintf的'()的定义'以及 – CinCout
将它添加到你的问题。并添加ft_nb_arg,ft_print_it和其他任何你正在调用的函数。你认为人们可以阅读你的想法吗? – gnasher729
这是我的代码可用:https://bitbucket.org/zikmout/ft_printf – ziKmouT