我正在重新編寫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