Vous êtes sur la page 1sur 2

#ft_printf

int ft_printf(const char *str, ...)

Fonction variadique : prend un nombre d'argument variable


Le premier champs est obligatoire, mais pas nécessairement un char * (pour une fonction
variadique)
Le deuxieme champs : ... : c'est le nombre variable d'arguments
Types de conversions
% Type de données Limites Techniques Fait Ret
c Caractère 1 char putchar x x
s Chaîne de carctère char * putstr x x
p Adresse en mémoire (en héxadécimale) 0 à size_t max putnbrbase x x
d int -2147483648 à 2147483647 putnbr x x
i int -2147483648 à 2147483647 putnbr x x
u unsigned int 0 à 4294967295 putunbr x x
x Nombre en héxadécimal minuscule 0 à 4294967295 putnbrbase x x
X Nombre en héxadécimal majusucle 0 à 4294967295 putnbrbase x x
% Affiche pourcentage 1 char putchar x x
Valeur de retour
Le nombre de charactères écrit
Valeure négative en cas d'erreur
Fonctions autorisées
Attention
Attention ce sont des macros

va_list ap : initialise une structure de données requise par les macros va_*
va_start(va_list ap, last) : intialisation de la structure va_list déclarée en amont

va_list ap : variable de type va_list déclarée en amont


last : dernier paramètre nommé de la fonction variadique
va_arg(va_list ap, type) : doit être casté
va_list ap : variable de type va_list initialisée en amont
type : type de la variable stockée
sortie : chaque appel retourne l'arguments dans l'ordre de celui de la fonction variadiaque
va_copy(va_list dest, va_list src) : duplique l'état d'une structure de données va_list

va_end(va_list ap) : libère la liste initialisée par va_start ou va_copy

Exemple d'utilisation :

Attention au nombre d' arg dans ????

Vous aimerez peut-être aussi