My Printf


Thibaut CORNOLTI
1/7
I) Objectif et gestion du projet

Le Printf ?
Permet d'afficher dans la sortie standard...
| %d, %i, %u, %o, %x | ...un entier sous différentes bases |
| %s | ...une chaîne |
| %c | ...un caractère |
| %p | ...un pointeur |
| %e | ...un rationnel en écriture scientifique |
| %b | ...un entier en binaire (bonus) |
2/7
II) Organisation

Recherche sur le printf
Implémentation des flags de base
Implémentation des modificateurs
Rendu
3/7
III) FONCTIONNEMENT

Parsing de la chaîne
Gestion d'erreur
Mise dans un structure
Lecture de la structure
Calcul des modificateurs
Application des modificateurs
Affichage du résultat
4/7
IV) Problèmes rencontrés
& solutions

- Calcul des longueurs et des précisions
Nombreux tests
Main de test
- Gestion du temps (nombreux projets)
Planning
Deadline
5/7
V) Bonus

- Modificateur " : " :
Gère les SGR (Select Graphic Rendition)
Exemple :
my_printf("Salut, %:31;42s !\n", "Hey");
my_printf("Salut, %:*s !\n", "32;1", "Hey");
- Modificateurs sur %b et %S
| x | Couleur |
|---|---|
| 0 | Noir |
| 1 | Rouge |
| 2 | Vert |
| 3 | Jaune |
| 4 | Bleu |
| 5 | Magenta |
| 6 | Cyan |
| 7 | Blanc |
| N° | Fonction |
|---|---|
| 0 | Reset |
| 1 | Gras |
| 2 | Light |
| 3 | Italic |
| 4 | Souligné |
| 5 | Clignote - |
| 6 | Clignote + |
| 7 | Négatif |
| 9 | Barré |
| 1x | Police |
| 3x | Couleur |
| 4x | Font |
6/7
- Gestion du %e avec arrondies
ANY
QUESTION
?

7/7
Pitch my_printf
By thibautcornolti
Pitch my_printf
- 130