Skip to content

tomaquet18/ft_printf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ft_printf

🏴 Idiomes/languages:

Català:

🚀 Objectiu:

Nom del programa libftprintf.a
Fitxers d'entrega Makefile, *.h, */*.h, *.c, */*.c
Makefile NAME, all, clean, fclean, re
Funcions externes malloc, free, write, va_start, va_arg, va_copy, va_end
Libft permés Si
Descripció Escriu una llibrería que contingui ft_printf(), una funció que imitarà el printf() original

Heu de recodificar la funció printf() de libc.
El prototip de ft_printf() és: int ft_printf(const char *, ...);

Aquests són els requisits:

  • No implementeu la gestió de buffer del printf() original.
  • La vostra funció ha de gestionar les conversions següents: cspdiuxX%.
  • La vostra funció es compararà amb la printf().
  • Heu d'utilitzar l'ordre ar per crear la vostra biblioteca.
  • L'ús de l'ordre libtool està prohibit.
  • El vostre libftprintf.a s'ha de crear a l'arrel del vostre repositori.

Heu d'implementar les següents conversions:

  • %c Imprimeix un caràcter.
  • %s Imprimeix una cadena de caràcters (tal com es defineix per la convenció C comuna).
  • %p L'argument del punter void * s'ha d'imprimir en format hexadecimal.
  • %d Imprimeix un nombre decimal (base 10).
  • %i Imprimeix un nombre enter en base 10.
  • %u Imprimeix un nombre decimal sense signe (base 10).
  • %x Imprimeix un nombre en format hexadecimal (base 16) en minúscules.
  • %X Imprimeix un nombre en format hexadecimal (base 16) en majúscules.
  • %% Imprimeix un signe de percentatge.

💯 Nota:

nota

English:

🚀 Goal:

Program name libftprintf.a
Turn in files Makefile, *.h, */*.h, *.c, */*.c
Makefile NAME, all, clean, fclean, re
External functs. malloc, free, write, va_start, va_arg, va_copy, va_end
Libft authorized Yes
Description 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:

  • Don't implement the buffer management of the original printf().
  • Your function has to handle the following conversions: cspdiuxX%.
  • Your function will be compared against the original printf().
  • You must use the command ar to create your library.
  • Using the libtool command is forbidden.
  • Your libftprintf.a has to be created at the root of your repository.

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.

💯 Note:

note