Is an individual project about recoding the famous printf C function
into its own library, to learn about variadic functions and improve algorithmic methodology
int
findtype(va_list ap, char c)
{
if (c == '%')
return (write(1, "%", 1));
else if (c == 'c')
return (handlechar(ap));
else if (ft_strchr(c, "diuxX"))
return (handlenbr(ap, c));
else if (c == 's')
return (handlestr(ap));
else if (c == 'p')
return (handleptr(ap));
return (-1);
}
You will discover a popular and versatile C function: printf(). This exercise is a great opportunity to improve your programming skills. It is of moderate difficulty. You will discover variadic functions in C. The key to a successful ft_printf is a well-structured and extensible code.
Write a library that contains ft_printf(), a function that will mimic the original printf()
You have to recode the printf() function from libc.
The prototype of ft_printf() is:
int ft_printf(const char *, ...);
Here are the requirements:
You have to implement the following conversions:
%c Prints a single character.%s Prints a string (as defined by the common C convention).%p The void * pointer argument has to be printed in hexadecimal format.%d Prints a decimal (base 10) number.%i Prints an integer in base 10.%u Prints an unsigned decimal (base 10) number.%x Prints a number in hexadecimal (base 16) lowercase format.%X Prints a number in hexadecimal (base 16) uppercase format.%% Prints a percent sign.