#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); }