← Retour aux projets

ft_printf

Réimplémentation de printf en C, avec arguments variadiques et analyseur de format maison.

Période
10/03/2022
Catégorie
42
Domaine
Systèmes
Note
125
Technologies
  • C
Liens

Réécrire l’une des fonctions les plus connues du langage C, analyseur de format compris.

Conversions

%c pour un caractère, %s pour une chaîne, %p pour un pointeur en hexadécimal, %d et %i pour un décimal signé, %u pour un non signé, %x et %X pour l’hexadécimal, et %% pour un pourcentage littéral.

Drapeaux

La partie bonus ajoute une largeur de champ minimale sur toutes les conversions, et n’importe quelle combinaison de - pour aligner à gauche, 0 pour compléter avec des zéros, . pour la précision, # pour le préfixe 0x en hexadécimal, l’espace avant les nombres positifs et + pour forcer le signe.

Ce que j’en ai tiré

Les fonctions variadiques et va_arg, mais surtout la façon de garder lisible un petit analyseur : un seul passage sur la chaîne de format, un aiguillage par conversion, et une valeur de retour qui compte exactement les caractères écrits.