From 502ddef1a01394867091afc0f76be68f5ef11cd2 Mon Sep 17 00:00:00 2001 From: Leo Firmin Date: Mon, 12 Jan 2026 03:40:31 +0100 Subject: [PATCH] test --- main.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ test.sh | 2 ++ 2 files changed, 96 insertions(+) create mode 100644 main.c create mode 100755 test.sh diff --git a/main.c b/main.c new file mode 100644 index 0000000..ecab913 --- /dev/null +++ b/main.c @@ -0,0 +1,94 @@ +#include +#include + +int ft_printf(const char *format, ...); + +int main(void) +{ + int ret_ft; + int ret_orig; + + printf("=== TEST CARACTERE (%%c) ===\n"); + ret_ft = ft_printf("ft_printf: [%c]\n", 'A'); + ret_orig = printf("printf: [%c]\n", 'A'); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + printf("=== TEST STRING (%%s) ===\n"); + ret_ft = ft_printf("ft_printf: [%s]\n", "Hello 42!"); + ret_orig = printf("printf: [%s]\n", "Hello 42!"); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + ret_ft = ft_printf("ft_printf: [%s]\n", ""); + ret_orig = printf("printf: [%s]\n", ""); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + printf("=== TEST POINTEUR (%%p) ===\n"); + int x = 42; + ret_ft = ft_printf("ft_printf: [%p]\n", &x); + ret_orig = printf("printf: [%p]\n", &x); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + ret_ft = ft_printf("ft_printf: [%p]\n", (void *)0); + ret_orig = printf("printf: [%p]\n", (void *)0); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + printf("=== TEST DECIMAL (%%d et %%i) ===\n"); + ret_ft = ft_printf("ft_printf: [%d] [%i]\n", 42, -42); + ret_orig = printf("printf: [%d] [%i]\n", 42, -42); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + ret_ft = ft_printf("ft_printf: [%d] [%d]\n", 0, INT_MIN); + ret_orig = printf("printf: [%d] [%d]\n", 0, INT_MIN); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + ret_ft = ft_printf("ft_printf: [%d]\n", INT_MAX); + ret_orig = printf("printf: [%d]\n", INT_MAX); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + printf("=== TEST UNSIGNED (%%u) ===\n"); + ret_ft = ft_printf("ft_printf: [%u]\n", 42); + ret_orig = printf("printf: [%u]\n", 42); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + ret_ft = ft_printf("ft_printf: [%u]\n", UINT_MAX); + ret_orig = printf("printf: [%u]\n", UINT_MAX); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + ret_ft = ft_printf("ft_printf: [%u]\n", 0); + ret_orig = printf("printf: [%u]\n", 0); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + printf("=== TEST HEXA MINUSCULE (%%x) ===\n"); + ret_ft = ft_printf("ft_printf: [%x]\n", 255); + ret_orig = printf("printf: [%x]\n", 255); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + ret_ft = ft_printf("ft_printf: [%x]\n", 0); + ret_orig = printf("printf: [%x]\n", 0); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + ret_ft = ft_printf("ft_printf: [%x]\n", -1); + ret_orig = printf("printf: [%x]\n", -1); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + printf("=== TEST HEXA MAJUSCULE (%%X) ===\n"); + ret_ft = ft_printf("ft_printf: [%X]\n", 255); + ret_orig = printf("printf: [%X]\n", 255); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + ret_ft = ft_printf("ft_printf: [%X]\n", 4886); + ret_orig = printf("printf: [%X]\n", 4886); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + printf("=== TEST POURCENT (%%%%) ===\n"); + ret_ft = ft_printf("ft_printf: [%%]\n"); + ret_orig = printf("printf: [%%]\n"); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + printf("=== TEST MIX ===\n"); + ret_ft = ft_printf("ft_printf: %c %s %p %d %i %u %x %X %%\n", 'Z', "test", &x, 42, -42, 100, 255, 255); + ret_orig = printf("printf: %c %s %p %d %i %u %x %X %%\n", 'Z', "test", &x, 42, -42, 100, 255, 255); + printf("Retours: ft=%d, orig=%d\n\n", ret_ft, ret_orig); + + return (0); +} diff --git a/test.sh b/test.sh new file mode 100755 index 0000000..451941d --- /dev/null +++ b/test.sh @@ -0,0 +1,2 @@ +gcc -Wall -Wextra -Werror main.c libftprintf.a -o test_printf +./test_printf