From 23966a971d354589071c7b8b60d475f25333a93a Mon Sep 17 00:00:00 2001 From: yctct Date: Sat, 7 Feb 2026 10:55:09 +0100 Subject: Add files, first commit --- main.c | 149 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 main.c (limited to 'main.c') diff --git a/main.c b/main.c new file mode 100644 index 0000000..cb50626 --- /dev/null +++ b/main.c @@ -0,0 +1,149 @@ +/* +ft_printf tester Copyright (C) 2026 yctct + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include // for printf() +#include // for LONG_MAX +#include "ft_printf.h" + +int main(void) +{ + int counter1; + int counter2; + char *p; + int *p2; + int *p3; + int *p4; + int i; + long j; + long k; + char *null_string; + + printf("------------------\n"); + printf("Test for specifier: c\n"); + counter1 = ft_printf("ft_printf: %c\n", 'c'); + counter2 = printf("printf : %c\n", 'c'); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + printf("Test for specifier: s\n"); + counter1 = ft_printf("ft_printf: %s\n", "string"); + counter2 = printf("printf : %s\n", "string"); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + printf("Test for specifier: i\n"); + counter1 = ft_printf("ft_printf: %i\n", -42); + counter2 = printf("printf : %i\n", -42); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + printf("Test for specifier: d\n"); + counter1 = ft_printf("ft_printf: %d\n", -42); + counter2 = printf("printf : %d\n", -42); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + printf("Test for specifier: u\n"); + counter1 = ft_printf("ft_printf: %u\n", -42); + counter2 = printf("printf : %u\n", -42); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + printf("Test for specifier: x with 101010\n"); + counter1 = ft_printf("ft_printf: %x\n", 101010); + counter2 = printf("printf : %x\n", 101010); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + printf("Test for specifier: x with -1\n"); + counter1 = ft_printf("ft_printf: %x\n", -1); + counter2 = printf("printf : %x\n", -1); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("Test for specifier: X with value 101010\n"); + counter1 = ft_printf("ft_printf: %X\n", 101010); + counter2 = printf("printf : %X\n", 101010); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + printf("Test for specifier: X with value -1\n"); + counter1 = ft_printf("ft_printf: %X\n", -1); + counter2 = printf("printf : %X\n", -1); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + printf("Test for specifier: p\n"); + p = "x"; + counter1 = ft_printf("ft_printf: %p\n", p); + counter2 = printf("printf : %p\n", p); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + printf("Test for specifier: p with i = 17\n"); + i = 17; + p2 = &i; + counter1 = ft_printf("ft_printf: %p\n", p2); + counter2 = printf("printf : %p\n", p2); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + printf("Test for specifier: p with address FFFFFFFF\n"); + j = LONG_MAX; + p3 = (void *)j; // we check FFFFFFFF as an address not a value + counter1 = ft_printf("ft_printf: %p\n", p3); + counter2 = printf("printf : %p\n", p3); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + printf("Test for specifier: p with address 0\n"); + k = 0; + p4 = (void *)k; // we check 0 as an address not a value + counter1 = ft_printf("ft_printf: %p %p\n", p4, p4); + counter2 = printf("printf : %p %p\n", p4, p4); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + counter1 = ft_printf("ft_printf: %%\n"); + counter2 = printf("printf : %%\n"); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + null_string = NULL; + counter1 = ft_printf("ft_printf: %s\n", null_string); + counter2 = printf("printf : %s\n", null_string); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + counter1 = ft_printf("ft_printf: %y hola\n"); + counter2 = printf("printf : %y hola\n"); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + counter1 = ft_printf(""); + ft_printf("\n"); + counter2 = printf(""); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + counter1 = ft_printf(0); + ft_printf("\n"); + counter2 = printf(0); + printf("counter : %i\n", counter1); + printf("counter : %i\n", counter2); + printf("------------------\n"); + printf("END OF TESTS\n"); +} -- cgit v1.2.3