/* By: ljiriste <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/09/06 17:26:17 by ljiriste #+# #+# */
-/* Updated: 2023/09/06 18:05:39 by ljiriste ### ########.fr */
+/* Updated: 2023/09/08 17:58:29 by ljiriste ### ########.fr */
/* */
/* ************************************************************************** */
-
+#include <stdlib.h>
#include "ft_printf.h"
+#include "libft.h"
int main(void)
{
- ft_printf("Trying format d/i:\n");
- ft_printf("Without flags:\n");
-
- ft_printf("\n\t-1\t\t%d\n", -1);
- ft_printf("\t0\t\t%d\n", 0);
- ft_printf("\t1\t\t%d\n", 1);
-
- ft_printf("\n\t32767\t\t%d\n", 32767);
- ft_printf("\t32768\t\t%d\n", 32768);
- ft_printf("\t32769\t\t%d\n", 32769);
-
- ft_printf("\n\t65535\t\t%d\n", 65535);
- ft_printf("\t65536\t\t%d\n", 65536);
- ft_printf("\t65537\t\t%d\n", 65537);
-
- ft_printf("\n\t2147483647\t%d\n", 2147483647);
- ft_printf("\t2147483648\t%d\n", 2147483648);
- ft_printf("\t2147483649\t%d\n", 2147483649);
-
- ft_printf("\n\t4294967295\t%d\n", 4294967295);
- ft_printf("\t4294967296\t%d\n", 4294967296);
- ft_printf("\t4294967297\t%d\n", 4294967297);
-
-
- ft_printf("\nWith flags applicable to format d/i (+ -0):\n");
-
- ft_printf("\n\t| 1998|\t|%10d|\n", 1998);
- ft_printf("\t| 1998|\t|% 10d|\n", 1998);
- ft_printf("\t| 1998|\t|% 10d|\n", 1998);
-
- ft_printf("\n\t| +1998|\t|%+10d|\n", 1998);
- ft_printf("\t| +1998|\t|%+ 10d|\n", 1998);
- ft_printf("\t| +1998|\t|% + + +++ 10d|\n", 1998);
- ft_printf("\t| +1998|\t|% +10d|\n", 1998);
- ft_printf("\t| +1998|\t|%+ + +++ ++ 10d|\n", 1998);
- ft_printf("\t| +1998|\t|% + + + ++10d|\n", 1998);
- ft_printf("\t| +1998|\t|%+ + + ++ + 10d|\n", 1998);
- ft_printf("\t| +1998|\t|%+ + + ++ + +10d|\n", 1998);
-
- ft_printf("\n\t| 000001998|\t|% 010d|\n", 1998);
- ft_printf("\t| 000001998|\t|%0 10d|\n", 1998);
- ft_printf("\t| 000001998|\t|%0 000 0 0010d|\n", 1998);
- ft_printf("\t| 000001998|\t|% 0 000 0 0010d|\n", 1998);
- ft_printf("\t| 000001998|\t|%0 000 0 00 10d|\n", 1998);
- ft_printf("\t| 000001998|\t|% 0 000 0 00 10d|\n", 1998);
-
- ft_printf("\n\t|+000001998|\t|%0+10d|\n", 1998);
- ft_printf("\t|+000001998|\t|%+010d|\n", 1998);
- ft_printf("\t|+000001998|\t|%0+ 10d|\n", 1998);
- ft_printf("\t|+000001998|\t|%0 +10d|\n", 1998);
- ft_printf("\t|+000001998|\t|% 0+10d|\n", 1998);
- ft_printf("\t|+000001998|\t|% +010d|\n", 1998);
- ft_printf("\t|+000001998|\t|%+0 10d|\n", 1998);
- ft_printf("\t|+000001998|\t|%+ 010d|\n", 1998);
-
- ft_printf("\n\t|0000001998|\t|%010d|\n", 1998);
- ft_printf("\t|0000001998|\t|%0000000000010d|\n", 1998);
-
- ft_printf("\n\t|1998 |\t|%-10d|\n", 1998);
- ft_printf("\t|1998 |\t|%0-10d|\n", 1998);
- ft_printf("\t|1998 |\t|%-010d|\n", 1998);
- ft_printf("\t|1998 |\t|%-0000-----00-00-0-10d|\n", 1998);
- ft_printf("\t|1998 |\t|%-0000---0-0-0--0-0-0010d|\n", 1998);
- ft_printf("\t|1998 |\t|%0000---0-0-0--0-0-0-10d|\n", 1998);
- ft_printf("\t|1998 |\t|%0000---0-0-0--0-0-0010d|\n", 1998);
-
- ft_printf("\n\t| 1998 |\t|%- 10d|\n", 1998);
- ft_printf("\t| 1998 |\t|% -10d|\n", 1998);
- ft_printf("\t| 1998 |\t|%0 -10d|\n", 1998);
- ft_printf("\t| 1998 |\t|% 0-10d|\n", 1998);
- ft_printf("\t| 1998 |\t|% -010d|\n", 1998);
- ft_printf("\t| 1998 |\t|%0- 10d|\n", 1998);
- ft_printf("\t| 1998 |\t|%-0 10d|\n", 1998);
- ft_printf("\t| 1998 |\t|%- 010d|\n", 1998);
-
- ft_printf("\n\t|+1998 |\t|%-+10d|\n", 1998);
- ft_printf("\t|+1998 |\t|%+-10d|\n", 1998);
- ft_printf("\t|+1998 |\t|% +-10d|\n", 1998);
- ft_printf("\t|+1998 |\t|%+ -10d|\n", 1998);
- ft_printf("\t|+1998 |\t|%+- 10d|\n", 1998);
- ft_printf("\t|+1998 |\t|% -+10d|\n", 1998);
- ft_printf("\t|+1998 |\t|%- +10d|\n", 1998);
- ft_printf("\t|+1998 |\t|%-+ 10d|\n", 1998);
-
-
- ft_printf("\nMinimum width smaller than input:\n");
-
- ft_printf("\n\t|2147483647|\n\t|%5d|\n", 2147483647);
- ft_printf("\t|2147483647|\n\t|%05d|\n", 2147483647);
-
- ft_printf("\n\t| 2147483647|\n\t|% 5d|\n", 2147483647);
- ft_printf("\t| 2147483647|\n\t|% 05d|\n", 2147483647);
- ft_printf("\t|+2147483647|\n\t|%+05d|\n", 2147483647);
- ft_printf("\t|+2147483647|\n\t|%+5d|\n", 2147483647);
-
-
- ft_printf("\nPrecision:\n");
-
- ft_printf("\n\t||\t|%.0d|\n\n", 0);
-
- ft_printf("\n\t| 1998|\t|%10.0d|\n", 1998);
- ft_printf("\t| 1998|\t|%10.1d|\n", 1998);
- ft_printf("\t| 1998|\t|%10.2d|\n", 1998);
- ft_printf("\t| 1998|\t|%10.3d|\n", 1998);
- ft_printf("\t| 1998|\t|%10.4d|\n", 1998);
- ft_printf("\t| 01998|\t|%10.5d|\n", 1998);
- ft_printf("\t| 001998|\t|%10.6d|\n", 1998);
- ft_printf("\t| 0001998|\t|%10.7d|\n", 1998);
- ft_printf("\t| 00001998|\t|%10.8d|\n", 1998);
- ft_printf("\t| 000001998|\t|%10.9d|\n", 1998);
- ft_printf("\t|0000001998|\t|%10.10d|\n", 1998);
-
- ft_printf("\n\t|00000001998|\t|%10.11d|\n", 1998);
+ int i;
+
+ i = 0;
+
+ i += ft_printf("Trying format d/i:\n");
+ i += ft_printf("\tWithout flags:\n");
+
+ i += ft_printf("\n\tInput value\tOutput value\n");
+ i += ft_printf("\t-1\t\t\t%d\n", -1);
+ i += ft_printf("\t0\t\t\t%d\n", 0);
+ i += ft_printf("\t1\t\t\t%d\n", 1);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t32767\t\t%d\n", 32767);
+ i += ft_printf("\t32768\t\t%d\n", 32768);
+ i += ft_printf("\t32769\t\t%d\n", 32769);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t65535\t\t%d\n", 65535);
+ i += ft_printf("\t65536\t\t%d\n", 65536);
+ i += ft_printf("\t65537\t\t%d\n", 65537);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t2147483647\t%d\n", 2147483647);
+ i += ft_printf("\t2147483648\t%d\n", 2147483648);
+ i += ft_printf("\t2147483649\t%d\n", 2147483649);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t4294967295\t%d\n", 4294967295);
+ i += ft_printf("\t4294967296\t%d\n", 4294967296);
+ i += ft_printf("\t4294967297\t%d\n", 4294967297);
+
+
+ i += ft_printf("\n");
+ i += ft_printf("\tWith flags applicable to format d/i (+ -0):\n");
+
+ i += ft_printf("\n\tExpected outcome\tActual outcome\n");
+ i += ft_printf("\t| 1998|\t\t|%10d|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% 10d|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% 10d|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| +1998|\t\t|%+10d|\n", 1998);
+ i += ft_printf("\t| +1998|\t\t|%+ 10d|\n", 1998);
+ i += ft_printf("\t| +1998|\t\t|% + + +++ 10d|\n", 1998);
+ i += ft_printf("\t| +1998|\t\t|% +10d|\n", 1998);
+ i += ft_printf("\t| +1998|\t\t|%+ + +++ ++ 10d|\n", 1998);
+ i += ft_printf("\t| +1998|\t\t|% + + + ++10d|\n", 1998);
+ i += ft_printf("\t| +1998|\t\t|%+ + + ++ + 10d|\n", 1998);
+ i += ft_printf("\t| +1998|\t\t|%+ + + ++ + +10d|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 000001998|\t\t|% 010d|\n", 1998);
+ i += ft_printf("\t| 000001998|\t\t|%0 10d|\n", 1998);
+ i += ft_printf("\t| 000001998|\t\t|%0 000 0 0010d|\n", 1998);
+ i += ft_printf("\t| 000001998|\t\t|% 0 000 0 0010d|\n", 1998);
+ i += ft_printf("\t| 000001998|\t\t|%0 000 0 00 10d|\n", 1998);
+ i += ft_printf("\t| 000001998|\t\t|% 0 000 0 00 10d|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|+000001998|\t\t|%0+10d|\n", 1998);
+ i += ft_printf("\t|+000001998|\t\t|%+010d|\n", 1998);
+ i += ft_printf("\t|+000001998|\t\t|%0+ 10d|\n", 1998);
+ i += ft_printf("\t|+000001998|\t\t|%0 +10d|\n", 1998);
+ i += ft_printf("\t|+000001998|\t\t|% 0+10d|\n", 1998);
+ i += ft_printf("\t|+000001998|\t\t|% +010d|\n", 1998);
+ i += ft_printf("\t|+000001998|\t\t|%+0 10d|\n", 1998);
+ i += ft_printf("\t|+000001998|\t\t|%+ 010d|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|0000001998|\t\t|%010d|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0000000000010d|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|1998 |\t\t|%-10d|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0-10d|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-010d|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0000-----00-00-0-10d|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0000---0-0-0--0-0-0010d|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0000---0-0-0--0-0-0-10d|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0000---0-0-0--0-0-0010d|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 1998 |\t\t|%- 10d|\n", 1998);
+ i += ft_printf("\t| 1998 |\t\t|% -10d|\n", 1998);
+ i += ft_printf("\t| 1998 |\t\t|%0 -10d|\n", 1998);
+ i += ft_printf("\t| 1998 |\t\t|% 0-10d|\n", 1998);
+ i += ft_printf("\t| 1998 |\t\t|% -010d|\n", 1998);
+ i += ft_printf("\t| 1998 |\t\t|%0- 10d|\n", 1998);
+ i += ft_printf("\t| 1998 |\t\t|%-0 10d|\n", 1998);
+ i += ft_printf("\t| 1998 |\t\t|%- 010d|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|+1998 |\t\t|%-+10d|\n", 1998);
+ i += ft_printf("\t|+1998 |\t\t|%+-10d|\n", 1998);
+ i += ft_printf("\t|+1998 |\t\t|% +-10d|\n", 1998);
+ i += ft_printf("\t|+1998 |\t\t|%+ -10d|\n", 1998);
+ i += ft_printf("\t|+1998 |\t\t|%+- 10d|\n", 1998);
+ i += ft_printf("\t|+1998 |\t\t|% -+10d|\n", 1998);
+ i += ft_printf("\t|+1998 |\t\t|%- +10d|\n", 1998);
+ i += ft_printf("\t|+1998 |\t\t|%-+ 10d|\n", 1998);
+
+ i += ft_printf("\t| -1998|\t\t|%10d|\n", -1998);
+ i += ft_printf("\t| -1998|\t\t|% 10d|\n", -1998);
+ i += ft_printf("\t| -1998|\t\t|% 10d|\n", -1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| -1998|\t\t|%+10d|\n", -1998);
+ i += ft_printf("\t| -1998|\t\t|%+ 10d|\n", -1998);
+ i += ft_printf("\t| -1998|\t\t|% + + +++ 10d|\n", -1998);
+ i += ft_printf("\t| -1998|\t\t|% +10d|\n", -1998);
+ i += ft_printf("\t| -1998|\t\t|%+ + +++ ++ 10d|\n", -1998);
+ i += ft_printf("\t| -1998|\t\t|% + + + ++10d|\n", -1998);
+ i += ft_printf("\t| -1998|\t\t|%+ + + ++ + 10d|\n", -1998);
+ i += ft_printf("\t| -1998|\t\t|%+ + + ++ + +10d|\n", -1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|-000001998|\t\t|% 010d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t\t|%0 10d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t\t|%0 000 0 0010d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t\t|% 0 000 0 0010d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t\t|%0 000 0 00 10d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t\t|% 0 000 0 00 10d|\n", -1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|-000001998|\t\t|%0+10d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t\t|%+010d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t\t|%0+ 10d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t\t|%0 +10d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t\t|% 0+10d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t\t|% +010d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t\t|%+0 10d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t\t|%+ 010d|\n", -1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|-000001998|\t\t|%010d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t\t|%0000000000010d|\n", -1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|-1998 |\t\t|%-10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%0-10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%-010d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%-0000-----00-00-0-10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%-0000---0-0-0--0-0-0010d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%0000---0-0-0--0-0-0-10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%0000---0-0-0--0-0-0010d|\n", -1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|-1998 |\t\t|%- 10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|% -10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%0 -10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|% 0-10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|% -010d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%0- 10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%-0 10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%- 010d|\n", -1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|-1998 |\t\t|%-+10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%+-10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|% +-10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%+ -10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%+- 10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|% -+10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%- +10d|\n", -1998);
+ i += ft_printf("\t|-1998 |\t\t|%-+ 10d|\n", -1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tMinimum width smaller than input:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|2147483647|\n\t|%5d|\n", 2147483647);
+ i += ft_printf("\t|2147483647|\n\t|%05d|\n", 2147483647);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 2147483647|\n\t|% 5d|\n", 2147483647);
+ i += ft_printf("\t| 2147483647|\n\t|% 05d|\n", 2147483647);
+ i += ft_printf("\t|+2147483647|\n\t|%+05d|\n", 2147483647);
+ i += ft_printf("\t|+2147483647|\n\t|%+5d|\n", 2147483647);
+ i += ft_printf("\t|-2147483647|\n\t|% 5d|\n", -2147483647);
+ i += ft_printf("\t|-2147483647|\n\t|% 05d|\n", -2147483647);
+ i += ft_printf("\t|-2147483647|\n\t|%+05d|\n", -2147483647);
+ i += ft_printf("\t|-2147483647|\n\t|%+5d|\n", -2147483647);
+
+
+ i += ft_printf("\n");
+ i += ft_printf("\tPrecision:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t||\t|%.0d|\n\n", 0);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 1998|\t|%10.0d|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.1d|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.2d|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.3d|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.4d|\n", 1998);
+ i += ft_printf("\t| 01998|\t|%10.5d|\n", 1998);
+ i += ft_printf("\t| 001998|\t|%10.6d|\n", 1998);
+ i += ft_printf("\t| 0001998|\t|%10.7d|\n", 1998);
+ i += ft_printf("\t| 00001998|\t|%10.8d|\n", 1998);
+ i += ft_printf("\t| 000001998|\t|%10.9d|\n", 1998);
+ i += ft_printf("\t|0000001998|\t|%10.10d|\n", 1998);
+
+ i += ft_printf("\t| -1998|\t|%10.0d|\n", -1998);
+ i += ft_printf("\t| -1998|\t|%10.1d|\n", -1998);
+ i += ft_printf("\t| -1998|\t|%10.2d|\n", -1998);
+ i += ft_printf("\t| -1998|\t|%10.3d|\n", -1998);
+ i += ft_printf("\t| -1998|\t|%10.4d|\n", -1998);
+ i += ft_printf("\t| -01998|\t|%10.5d|\n", -1998);
+ i += ft_printf("\t| -001998|\t|%10.6d|\n", -1998);
+ i += ft_printf("\t| -0001998|\t|%10.7d|\n", -1998);
+ i += ft_printf("\t| -00001998|\t|%10.8d|\n", -1998);
+ i += ft_printf("\t|-000001998|\t|%10.9d|\n", -1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|-0000001998|\t|%10.10d|\n", -1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tFormat arguments given by *:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 01998|\t|%*.5d|\n", 10, 1998);
+ i += ft_printf("\t| 01998|\t|%10.*d|\n", 5, 1998);
+ i += ft_printf("\t| 01998|\t|%*.*d|\n", 10, 5, 1998);
+ i += ft_printf("\t| 1998|\t|%*.*d|\n", 10, -1, 1998);
+ i += ft_printf("\t| 1998|\t|%*.*d|\n", 10, -10, 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("Trying format u:\n");
+ i += ft_printf("\tWithout flags:\n");
+
+ i += ft_printf("\n\tInput value\tOutput value\n");
+ i += ft_printf("\t-1\t\t\t%u\n", -1);
+ i += ft_printf("\t0\t\t\t%u\n", 0);
+ i += ft_printf("\t1\t\t\t%u\n", 1);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t32767\t\t%u\n", 32767);
+ i += ft_printf("\t32768\t\t%u\n", 32768);
+ i += ft_printf("\t32769\t\t%u\n", 32769);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t65535\t\t%u\n", 65535);
+ i += ft_printf("\t65536\t\t%u\n", 65536);
+ i += ft_printf("\t65537\t\t%u\n", 65537);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t2147483647\t%u\n", 2147483647);
+ i += ft_printf("\t2147483648\t%u\n", 2147483648);
+ i += ft_printf("\t2147483649\t%u\n", 2147483649);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t4294967295\t%u\n", 4294967295);
+ i += ft_printf("\t4294967296\t%u\n", 4294967296);
+ i += ft_printf("\t4294967297\t%u\n", 4294967297);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tWith flags applicable to format u (-0):\n");
+
+ i += ft_printf("\n\tExpected outcome\tActual outcome\n");
+ i += ft_printf("\t| 1998|\t\t|%10u|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% 10u|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% 10u|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 1998|\t\t|%+10u|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ 10u|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% + + +++ 10u|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% +10u|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ + +++ ++ 10u|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% + + + ++10u|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ + + ++ + 10u|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ + + ++ + +10u|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|0000001998|\t\t|% 010u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 10u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 000 0 0010u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% 0 000 0 0010u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 000 0 00 10u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% 0 000 0 00 10u|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|0000001998|\t\t|%0+10u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%+010u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0+ 10u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 +10u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% 0+10u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% +010u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%+0 10u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%+ 010u|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|0000001998|\t\t|%010u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0000000000010u|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|1998 |\t\t|%-10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0-10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-010u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0000-----00-00-0-10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0000---0-0-0--0-0-0010u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0000---0-0-0--0-0-0-10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0000---0-0-0--0-0-0010u|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|1998 |\t\t|%- 10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% -10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0 -10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% 0-10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% -010u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0- 10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0 10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%- 010u|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|1998 |\t\t|%-+10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%+-10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% +-10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%+ -10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%+- 10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% -+10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%- +10u|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-+ 10u|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tMinimum width smaller than input:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|2147483647|\n\t|%5u|\n", 2147483647);
+ i += ft_printf("\t|2147483647|\n\t|%05u|\n", 2147483647);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|2147483647|\n\t|% 5u|\n", 2147483647);
+ i += ft_printf("\t|2147483647|\n\t|% 05u|\n", 2147483647);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|+2147483647|\n\t|%+05u|\n", 2147483647);
+ i += ft_printf("\t|+2147483647|\n\t|%+5u|\n", 2147483647);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tPrecision:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t||\t|%.0u|\n\n", 0);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 1998|\t|%10.0u|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.1u|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.2u|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.3u|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.4u|\n", 1998);
+ i += ft_printf("\t| 01998|\t|%10.5u|\n", 1998);
+ i += ft_printf("\t| 001998|\t|%10.6u|\n", 1998);
+ i += ft_printf("\t| 0001998|\t|%10.7u|\n", 1998);
+ i += ft_printf("\t| 00001998|\t|%10.8u|\n", 1998);
+ i += ft_printf("\t| 000001998|\t|%10.9u|\n", 1998);
+ i += ft_printf("\t|0000001998|\t|%10.10u|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tFormat arguments given by *:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 01998|\t|%*.5u|\n", 10, 1998);
+ i += ft_printf("\t| 01998|\t|%10.*u|\n", 5, 1998);
+ i += ft_printf("\t| 01998|\t|%*.*u|\n", 10, 5, 1998);
+ i += ft_printf("\t| 1998|\t|%*.*u|\n", 10, -1, 1998);
+ i += ft_printf("\t| 1998|\t|%*.*u|\n", 10, -10, 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("Trying format u:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t||\t|%.0u|\n", 0);
+
+ i += ft_printf("\n");
+ i += ft_printf("Trying format o:\n");
+ i += ft_printf("\tWithout flags:\n");
+
+ i += ft_printf("\n\tInput value\tOutput value\n");
+ i += ft_printf("\t-1\t\t\t%o\n", -1);
+ i += ft_printf("\t0\t\t\t%o\n", 0);
+ i += ft_printf("\t1\t\t\t%o\n", 1);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t32767\t\t%o\n", 32767);
+ i += ft_printf("\t32768\t\t%o\n", 32768);
+ i += ft_printf("\t32769\t\t%o\n", 32769);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t65535\t\t%o\n", 65535);
+ i += ft_printf("\t65536\t\t%o\n", 65536);
+ i += ft_printf("\t65537\t\t%o\n", 65537);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t2147483647\t%o\n", 2147483647);
+ i += ft_printf("\t2147483648\t%o\n", 2147483648);
+ i += ft_printf("\t2147483649\t%o\n", 2147483649);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t4294967295\t%o\n", 4294967295);
+ i += ft_printf("\t4294967296\t%o\n", 4294967296);
+ i += ft_printf("\t4294967297\t%o\n", 4294967297);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tWith flags applicable to format o (-0):\n");
+
+ i += ft_printf("\n\tExpected outcome\tActual outcome\n");
+ i += ft_printf("\t| 1998|\t\t|%10o|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% 10o|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% 10o|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 1998|\t\t|%+10o|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ 10o|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% + + +++ 10o|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% +10o|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ + +++ ++ 10o|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% + + + ++10o|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ + + ++ + 10o|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ + + ++ + +10o|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|0000001998|\t\t|% 010o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 10o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 000 0 0010o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% 0 000 0 0010o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 000 0 00 10o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% 0 000 0 00 10o|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|0000001998|\t\t|%0+10o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%+010o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0+ 10o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 +10o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% 0+10o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% +010o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%+0 10o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%+ 010o|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|0000001998|\t\t|%010o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0000000000010o|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|1998 |\t\t|%-10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0-10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-010o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0000-----00-00-0-10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0000---0-0-0--0-0-0010o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0000---0-0-0--0-0-0-10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0000---0-0-0--0-0-0010o|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|1998 |\t\t|%- 10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% -10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0 -10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% 0-10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% -010o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0- 10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0 10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%- 010o|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|1998 |\t\t|%-+10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%+-10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% +-10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%+ -10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%+- 10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% -+10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%- +10o|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-+ 10o|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tMinimum width smaller than input:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|2147483647|\n\t|%5o|\n", 2147483647);
+ i += ft_printf("\t|2147483647|\n\t|%05o|\n", 2147483647);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|2147483647|\n\t|% 5o|\n", 2147483647);
+ i += ft_printf("\t|2147483647|\n\t|% 05o|\n", 2147483647);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|+2147483647|\n\t|%+05o|\n", 2147483647);
+ i += ft_printf("\t|+2147483647|\n\t|%+5o|\n", 2147483647);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tPrecision:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t||\t|%.0o|\n\n", 0);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 1998|\t|%10.0o|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.1o|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.2o|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.3o|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.4o|\n", 1998);
+ i += ft_printf("\t| 01998|\t|%10.5o|\n", 1998);
+ i += ft_printf("\t| 001998|\t|%10.6o|\n", 1998);
+ i += ft_printf("\t| 0001998|\t|%10.7o|\n", 1998);
+ i += ft_printf("\t| 00001998|\t|%10.8o|\n", 1998);
+ i += ft_printf("\t| 000001998|\t|%10.9o|\n", 1998);
+ i += ft_printf("\t|0000001998|\t|%10.10o|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tFormat arguments given by *:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 01998|\t|%*.5o|\n", 10, 1998);
+ i += ft_printf("\t| 01998|\t|%10.*o|\n", 5, 1998);
+ i += ft_printf("\t| 01998|\t|%*.*o|\n", 10, 5, 1998);
+ i += ft_printf("\t| 1998|\t|%*.*o|\n", 10, -1, 1998);
+ i += ft_printf("\t| 1998|\t|%*.*o|\n", 10, -10, 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("Trying format x:\n");
+ i += ft_printf("\tWithout flags:\n");
+
+ i += ft_printf("\n\tInput value\tOutput value\n");
+ i += ft_printf("\t-1\t\t\t%x\n", -1);
+ i += ft_printf("\t0\t\t\t%x\n", 0);
+ i += ft_printf("\t1\t\t\t%x\n", 1);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t32767\t\t%x\n", 32767);
+ i += ft_printf("\t32768\t\t%x\n", 32768);
+ i += ft_printf("\t32769\t\t%x\n", 32769);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t65535\t\t%x\n", 65535);
+ i += ft_printf("\t65536\t\t%x\n", 65536);
+ i += ft_printf("\t65537\t\t%x\n", 65537);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t2147483647\t%x\n", 2147483647);
+ i += ft_printf("\t2147483648\t%x\n", 2147483648);
+ i += ft_printf("\t2147483649\t%x\n", 2147483649);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t4294967295\t%x\n", 4294967295);
+ i += ft_printf("\t4294967296\t%x\n", 4294967296);
+ i += ft_printf("\t4294967297\t%x\n", 4294967297);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tWith flags applicable to format x (-0):\n");
+
+ i += ft_printf("\n\tExpected outcome\tActual outcome\n");
+ i += ft_printf("\t| 1998|\t\t|%10x|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% 10x|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% 10x|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 1998|\t\t|%+10x|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ 10x|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% + + +++ 10x|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% +10x|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ + +++ ++ 10x|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% + + + ++10x|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ + + ++ + 10x|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ + + ++ + +10x|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|0000001998|\t\t|% 010x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 10x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 000 0 0010x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% 0 000 0 0010x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 000 0 00 10x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% 0 000 0 00 10x|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|0000001998|\t\t|%0+10x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%+010x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0+ 10x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 +10x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% 0+10x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% +010x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%+0 10x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%+ 010x|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|0000001998|\t\t|%010x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0000000000010x|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|1998 |\t\t|%-10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0-10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-010x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0000-----00-00-0-10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0000---0-0-0--0-0-0010x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0000---0-0-0--0-0-0-10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0000---0-0-0--0-0-0010x|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|1998 |\t\t|%- 10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% -10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0 -10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% 0-10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% -010x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0- 10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0 10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%- 010x|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|1998 |\t\t|%-+10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%+-10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% +-10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%+ -10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%+- 10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% -+10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%- +10x|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-+ 10x|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tMinimum width smaller than input:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|2147483647|\n\t|%5x|\n", 2147483647);
+ i += ft_printf("\t|2147483647|\n\t|%05x|\n", 2147483647);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|2147483647|\n\t|% 5x|\n", 2147483647);
+ i += ft_printf("\t|2147483647|\n\t|% 05x|\n", 2147483647);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|+2147483647|\n\t|%+05x|\n", 2147483647);
+ i += ft_printf("\t|+2147483647|\n\t|%+5x|\n", 2147483647);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tPrecision:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t||\t|%.0x|\n\n", 0);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 1998|\t|%10.0x|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.1x|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.2x|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.3x|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.4x|\n", 1998);
+ i += ft_printf("\t| 01998|\t|%10.5x|\n", 1998);
+ i += ft_printf("\t| 001998|\t|%10.6x|\n", 1998);
+ i += ft_printf("\t| 0001998|\t|%10.7x|\n", 1998);
+ i += ft_printf("\t| 00001998|\t|%10.8x|\n", 1998);
+ i += ft_printf("\t| 000001998|\t|%10.9x|\n", 1998);
+ i += ft_printf("\t|0000001998|\t|%10.10x|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tFormat arguments given by *:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 01998|\t|%*.5x|\n", 10, 1998);
+ i += ft_printf("\t| 01998|\t|%10.*x|\n", 5, 1998);
+ i += ft_printf("\t| 01998|\t|%*.*x|\n", 10, 5, 1998);
+ i += ft_printf("\t| 1998|\t|%*.*x|\n", 10, -1, 1998);
+ i += ft_printf("\t| 1998|\t|%*.*x|\n", 10, -10, 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("Trying format X:\n");
+ i += ft_printf("\tWithout flags:\n");
+
+ i += ft_printf("\n\tInput value\tOutput value\n");
+ i += ft_printf("\t-1\t\t\t%X\n", -1);
+ i += ft_printf("\t0\t\t\t%X\n", 0);
+ i += ft_printf("\t1\t\t\t%X\n", 1);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t32767\t\t%X\n", 32767);
+ i += ft_printf("\t32768\t\t%X\n", 32768);
+ i += ft_printf("\t32769\t\t%X\n", 32769);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t65535\t\t%X\n", 65535);
+ i += ft_printf("\t65536\t\t%X\n", 65536);
+ i += ft_printf("\t65537\t\t%X\n", 65537);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t2147483647\t%X\n", 2147483647);
+ i += ft_printf("\t2147483648\t%X\n", 2147483648);
+ i += ft_printf("\t2147483649\t%X\n", 2147483649);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t4294967295\t%X\n", 4294967295);
+ i += ft_printf("\t4294967296\t%X\n", 4294967296);
+ i += ft_printf("\t4294967297\t%X\n", 4294967297);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tWith flags applicable to format X (-0):\n");
+
+ i += ft_printf("\n\tExpected outcome\tActual outcome\n");
+ i += ft_printf("\t| 1998|\t\t|%10X|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% 10X|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% 10X|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 1998|\t\t|%+10X|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ 10X|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% + + +++ 10X|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% +10X|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ + +++ ++ 10X|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|% + + + ++10X|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ + + ++ + 10X|\n", 1998);
+ i += ft_printf("\t| 1998|\t\t|%+ + + ++ + +10X|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|0000001998|\t\t|% 010X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 10X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 000 0 0010X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% 0 000 0 0010X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 000 0 00 10X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% 0 000 0 00 10X|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|0000001998|\t\t|%0+10X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%+010X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0+ 10X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0 +10X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% 0+10X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|% +010X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%+0 10X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%+ 010X|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|0000001998|\t\t|%010X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t\t|%0000000000010X|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|1998 |\t\t|%-10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0-10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-010X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0000-----00-00-0-10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0000---0-0-0--0-0-0010X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0000---0-0-0--0-0-0-10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0000---0-0-0--0-0-0010X|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|1998 |\t\t|%- 10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% -10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0 -10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% 0-10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% -010X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%0- 10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-0 10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%- 010X|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|1998 |\t\t|%-+10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%+-10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% +-10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%+ -10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%+- 10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|% -+10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%- +10X|\n", 1998);
+ i += ft_printf("\t|1998 |\t\t|%-+ 10X|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tMinimum width smaller than input:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|2147483647|\n\t|%5X|\n", 2147483647);
+ i += ft_printf("\t|2147483647|\n\t|%05X|\n", 2147483647);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|2147483647|\n\t|% 5X|\n", 2147483647);
+ i += ft_printf("\t|2147483647|\n\t|% 05X|\n", 2147483647);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t|+2147483647|\n\t|%+05X|\n", 2147483647);
+ i += ft_printf("\t|+2147483647|\n\t|%+5X|\n", 2147483647);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tPrecision:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t||\t|%.0X|\n\n", 0);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 1998|\t|%10.0X|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.1X|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.2X|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.3X|\n", 1998);
+ i += ft_printf("\t| 1998|\t|%10.4X|\n", 1998);
+ i += ft_printf("\t| 01998|\t|%10.5X|\n", 1998);
+ i += ft_printf("\t| 001998|\t|%10.6X|\n", 1998);
+ i += ft_printf("\t| 0001998|\t|%10.7X|\n", 1998);
+ i += ft_printf("\t| 00001998|\t|%10.8X|\n", 1998);
+ i += ft_printf("\t| 000001998|\t|%10.9X|\n", 1998);
+ i += ft_printf("\t|0000001998|\t|%10.10X|\n", 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tFormat arguments given by *:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 01998|\t|%*.5X|\n", 10, 1998);
+ i += ft_printf("\t| 01998|\t|%10.*X|\n", 5, 1998);
+ i += ft_printf("\t| 01998|\t|%*.*X|\n", 10, 5, 1998);
+ i += ft_printf("\t| 1998|\t|%*.*X|\n", 10, -1, 1998);
+ i += ft_printf("\t| 1998|\t|%*.*X|\n", 10, -10, 1998);
+
+ i += ft_printf("\n");
+ i += ft_printf("Testing alt mode (flag #):\n");
+
+ i += ft_printf("\tOctal:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 03716|\t|%#10o|\n", 1998);
+ i += ft_printf("\t|0000003716|\t|%#010o|\n", 1998);
+ i += ft_printf("\t|0000003716|\t|%#.10o|\n", 1998);
+ i += ft_printf("\t| 0|\t|%#10o|\n", 0);
+ i += ft_printf("\t| 0|\t|%#10.0o|\n", 0);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tLowercase hex:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 0x7ce|\t|%#10x|\n", 1998);
+ i += ft_printf("\t|0x000007ce|\t|%#010x|\n", 1998);
+ i += ft_printf("\t|0x000007ce|\t|%#.8x|\n", 1998);
+ i += ft_printf("\t| 0|\t|%#10x|\n", 0);
+ i += ft_printf("\t| |\t|%#10.0x|\n", 0);
+
+ i += ft_printf("\n");
+ i += ft_printf("\tUppercase hex:\n");
+
+ i += ft_printf("\n");
+ i += ft_printf("\t| 0X7CE|\t|%#10X|\n", 1998);
+ i += ft_printf("\t|0X000007CE|\t|%#010X|\n", 1998);
+ i += ft_printf("\t|0X000007CE|\t|%#.8X|\n", 1998);
+ i += ft_printf("\t| 0|\t|%#10X|\n", 0);
+ i += ft_printf("\t| |\t|%#10.0X|\n", 0);
+
+ i += ft_printf("\n");
+ i += ft_printf("Testing format p:\n");
+
+ i += ft_printf("\t(nil)\t\t\t%p\n", 0);
+ i += ft_printf("\t(nil)\t\t\t%p\n", NULL);
+
+ i += ft_printf("\n");
+ i += ft_printf("\t%p\n", 1998);
+ i += ft_printf("\t%10p\n", 1998);
+ i += ft_printf("\t%.10p\n", 1998);
+ i += ft_printf("\t%020p\n", 1998);
+ i += ft_printf("\t%-20p\n", 1998);
+ i += ft_printf("\t%p\n", -1);
+
+ i += ft_printf("\n");
+ i += ft_printf("Testing format c:\n");
+
+ i += ft_printf("\t%c", 'a');
+ i += ft_printf("\t%c", '\n');
+ i += ft_printf("%c%c%c%c%c", '\t', 'b', 'c', 'd', '\n');
+ i += ft_printf("%c%c%c%10c%c%c", '\t', '\0', '|', '|', '\0', '\n');
+ i += ft_printf("%c%c%c%010c%c%c", '\t', '\0', '|', '|', '\0', '\n');
+ i += ft_printf("%c%c%-10c%c%c%c", '\t', '\0', '|', '|', '\0', '\n');
+ i += ft_printf("%c%.0c%c", '\t', '\0', '\n');
+ i += ft_printf("%c%.10c%c", '\t', 'a', '\n');
+
+ i += ft_printf("\n");
+ i += ft_printf("Testing format s:\n");
+
+ i += ft_printf("%s", "");
+ i += ft_printf("\t%s\n", "Hello");
+ i += ft_printf("\t%.31s\n", "This is a not a very long text. Because this second part is not printed.");
+
+ char *s;
+
+ s = ft_strdup("The end.");
+ i += ft_printf("\t%s%*s\n", "The end is 20 spaces away", ft_strlen(s) + 20, s);
+ free(s);
+
+ s = ft_strdup("This is always written whole.");
+ i += ft_printf("\t%s\n", s);
+ i += ft_printf("\t%.*s\n", ft_strlen(s), s);
+ i += ft_printf("\t%*s\n", ft_strlen(s), s);
+ i += ft_printf("\t%*.*s\n", ft_strlen(s), ft_strlen(s), s);
+ free(s);
+
+ s = ft_strdup("The number of spaces before this text is equal to half the number of characters in this text (rounded down).");
+ i += ft_printf("%*s", ft_strlen(s) * 3 / 2, s);
+ free(s);
+
+ i += ft_printf("\n");
+ i += ft_printf("This sentence is test of %%%% format.\n");
+
+ i += ft_printf("\n");
+ ft_printf("Characters written so far (without this line):\t%i\n", i);
return (0);
}