printf_main/main.c

95 lines
3.6 KiB
C

#include <stdio.h>
#include <limits.h>
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);
}