Réimplémentation de la fonction printf en C, supportant les principaux spécificateurs de format (%d, %s, %x, %f...).
Telecharger & tester
make (produit libmy.a, une reimplementation de printf ; bibliotheque statique sans executable autonome)
myprintf est un projet Epitech (Tek1) de bas niveau qui consiste a recoder en C la fonction printf de la libc conformement a la norme C99, livree non pas comme un binaire mais sous forme de bibliotheque statique libmy.a, avec un prototype strictement identique a celui de la fonction standard.
L'ensemble des indicateurs de formatage (flags) de printf doit etre gere, sans qu'il soit necessaire de reimplementer la gestion du buffer de la sortie standard, la fonction s'appuyant sur les macros de stdarg.h (va_start, va_arg, va_end) pour parcourir les arguments variables.
La libc est integralement interdite a l'exception de va_start, va_end, va_arg, malloc, free et write, ce qui impose de reecrire soi-meme toute la logique de conversion (entiers, chaines, flottants, bases) et d'agencement du texte de sortie.
Le Makefile doit lister individuellement chaque fichier source (sans wildcard), exposer les regles libmy.a, all, clean, fclean et re, et peut optionnellement integrer des tests unitaires avec le framework Criterion, qui permet de rediriger et verifier le contenu de la sortie standard et d'erreur.
En bonus, le projet encourage a implementer d'autres variantes de printf comme sprintf, fprintf ou dprintf, ainsi que les specificateurs de format %S et %b, ces ajouts devant etre isoles dans un repertoire bonus dedie.
Projet suivant
