mirror of
https://github.com/Ladebeze66/printf.git
synced 2025-12-15 21:56:49 +01:00
readme2
This commit is contained in:
parent
0cf11b3bac
commit
7b119adebf
33
README.md
33
README.md
@ -3,54 +3,87 @@
|
|||||||
Le projet ft_printf de l'École 42 consiste à recréer la fonction printf du langage C. Cette fonction permet d'afficher des chaînes de caractères formatées et est essentielle en programmation système et développement logiciel. Ce projet développe des compétences avancées en C, notamment la gestion des arguments variables, la manipulation des chaînes de formatage et l’utilisation de fonctions bas niveau comme write.
|
Le projet ft_printf de l'École 42 consiste à recréer la fonction printf du langage C. Cette fonction permet d'afficher des chaînes de caractères formatées et est essentielle en programmation système et développement logiciel. Ce projet développe des compétences avancées en C, notamment la gestion des arguments variables, la manipulation des chaînes de formatage et l’utilisation de fonctions bas niveau comme write.
|
||||||
|
|
||||||
🏆 Objectifs du Projet
|
🏆 Objectifs du Projet
|
||||||
|
|
||||||
Comprendre le fonctionnement de printf et ses spécificateurs.
|
Comprendre le fonctionnement de printf et ses spécificateurs.
|
||||||
|
|
||||||
Utiliser <stdarg.h> pour gérer un nombre variable d'arguments.
|
Utiliser <stdarg.h> pour gérer un nombre variable d'arguments.
|
||||||
|
|
||||||
Travailler avec les bases numériques (décimal, hexadécimal, etc.).
|
Travailler avec les bases numériques (décimal, hexadécimal, etc.).
|
||||||
|
|
||||||
Optimiser la gestion de la mémoire et l’affichage de caractères en C.
|
Optimiser la gestion de la mémoire et l’affichage de caractères en C.
|
||||||
|
|
||||||
🛠️ Spécifications Techniques
|
🛠️ Spécifications Techniques
|
||||||
|
|
||||||
Fonctionnalités Requises : ft_printf doit gérer les conversions suivantes :
|
Fonctionnalités Requises : ft_printf doit gérer les conversions suivantes :
|
||||||
|
|
||||||
%c → Caractère unique
|
%c → Caractère unique
|
||||||
|
|
||||||
%s → Chaîne de caractères
|
%s → Chaîne de caractères
|
||||||
|
|
||||||
%p → Pointeur (adresse mémoire)
|
%p → Pointeur (adresse mémoire)
|
||||||
|
|
||||||
%d / %i → Entier signé
|
%d / %i → Entier signé
|
||||||
|
|
||||||
%u → Entier non signé
|
%u → Entier non signé
|
||||||
|
|
||||||
%x / %X → Hexadécimal (minuscule/majuscule)
|
%x / %X → Hexadécimal (minuscule/majuscule)
|
||||||
|
|
||||||
%% → Affichage du symbole %
|
%% → Affichage du symbole %
|
||||||
|
|
||||||
Gestion des Paramètres Variables :
|
Gestion des Paramètres Variables :
|
||||||
|
|
||||||
Utilisation des macros de <stdarg.h> : va_list, va_start, va_arg et va_end.
|
Utilisation des macros de <stdarg.h> : va_list, va_start, va_arg et va_end.
|
||||||
|
|
||||||
Retour de la Fonction :
|
Retour de la Fonction :
|
||||||
|
|
||||||
ft_printf doit retourner le nombre total de caractères affichés, comme la version standard.
|
ft_printf doit retourner le nombre total de caractères affichés, comme la version standard.
|
||||||
|
|
||||||
🔧 Approche d’Implémentation
|
🔧 Approche d’Implémentation
|
||||||
|
|
||||||
Lecture de la Chaîne de Formatage → Identifier les spécificateurs (%).
|
Lecture de la Chaîne de Formatage → Identifier les spécificateurs (%).
|
||||||
|
|
||||||
Gestion Dynamique des Arguments → Utilisation de <stdarg.h>.
|
Gestion Dynamique des Arguments → Utilisation de <stdarg.h>.
|
||||||
|
|
||||||
Affichage des Caractères avec write → Pas de printf autorisé.
|
Affichage des Caractères avec write → Pas de printf autorisé.
|
||||||
|
|
||||||
Retour du Nombre de Caractères Affichés → Compteur à incrémenter.
|
Retour du Nombre de Caractères Affichés → Compteur à incrémenter.
|
||||||
|
|
||||||
📂 Structure du Projet
|
📂 Structure du Projet
|
||||||
|
|
||||||
ft_printf.c → Fonction principale et parsing des arguments.
|
ft_printf.c → Fonction principale et parsing des arguments.
|
||||||
|
|
||||||
ft_printf.h → Prototypes et #include nécessaires.
|
ft_printf.h → Prototypes et #include nécessaires.
|
||||||
|
|
||||||
Fichiers auxiliaires :
|
Fichiers auxiliaires :
|
||||||
|
|
||||||
ft_putchar_pf.c → Affiche un caractère.
|
ft_putchar_pf.c → Affiche un caractère.
|
||||||
|
|
||||||
ft_putstr_pf.c → Affiche une chaîne.
|
ft_putstr_pf.c → Affiche une chaîne.
|
||||||
|
|
||||||
ft_putnbr_pf.c → Affiche un entier.
|
ft_putnbr_pf.c → Affiche un entier.
|
||||||
|
|
||||||
ft_puthex_pf.c → Affiche un nombre en hexadécimal.
|
ft_puthex_pf.c → Affiche un nombre en hexadécimal.
|
||||||
|
|
||||||
ft_putptr_pf.c → Affiche une adresse mémoire.
|
ft_putptr_pf.c → Affiche une adresse mémoire.
|
||||||
|
|
||||||
Makefile → Automatisation de la compilation.
|
Makefile → Automatisation de la compilation.
|
||||||
|
|
||||||
🧪 Tests et Validation
|
🧪 Tests et Validation
|
||||||
|
|
||||||
Comparaison avec printf standard.
|
Comparaison avec printf standard.
|
||||||
|
|
||||||
Tests unitaires pour chaque spécificateur.
|
Tests unitaires pour chaque spécificateur.
|
||||||
|
|
||||||
Gestion des cas limites : valeurs nulles, chaînes vides, grands nombres, etc.
|
Gestion des cas limites : valeurs nulles, chaînes vides, grands nombres, etc.
|
||||||
|
|
||||||
📚 Ressources Utiles
|
📚 Ressources Utiles
|
||||||
|
|
||||||
[📌 Projet ft_printf - Guide GitHub][https://github.com/Tripouille/printfTester]
|
[📌 Projet ft_printf - Guide GitHub][https://github.com/Tripouille/printfTester]
|
||||||
|
|
||||||
[📌 Vidéo Explicative sur ft_printf][https://www.youtube.com/watch?v=fbYxk9J3i0k]
|
[📌 Vidéo Explicative sur ft_printf][https://www.youtube.com/watch?v=fbYxk9J3i0k]
|
||||||
|
|
||||||
🚀 Pourquoi ce projet est important ?
|
🚀 Pourquoi ce projet est important ?
|
||||||
|
|
||||||
ft_printf permet de développer des compétences clés en C, en apprenant à manipuler des arguments variadiques et en travaillant sur un projet bas niveau essentiel en programmation système et logicielle.
|
ft_printf permet de développer des compétences clés en C, en apprenant à manipuler des arguments variadiques et en travaillant sur un projet bas niveau essentiel en programmation système et logicielle.
|
||||||
|
|
||||||
Prêt à relever le défi ? 🔥
|
Prêt à relever le défi ? 🔥
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user