From ff10aaaf6b48d32054ef5e4554295f81f33cb96e Mon Sep 17 00:00:00 2001 From: Gras-Calvet Fernand <130482415+Ladebeze66@users.noreply.github.com> Date: Mon, 20 Jan 2025 19:03:02 +0000 Subject: [PATCH] Update README.md --- README.md | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/README.md b/README.md index 9bff78e..1ec8805 100644 --- a/README.md +++ b/README.md @@ -5,3 +5,63 @@ Reproduire des fonctions standard de la bibliothèque C (, , Comprendre les mécanismes internes du langage C (allocation dynamique, manipulation de chaînes de caractères, gestion des tableaux). Développer une approche rigoureuse pour écrire un code modulaire, lisible et bien documenté. Apprendre à gérer des projets complexes avec une attention particulière au debugging et aux tests unitaires. + +Compétences acquises : + +Programmation en C : +Implémentation de fonctions basiques comme strlen, strcpy, atoi, etc. +Création et manipulation de structures de données comme les listes chaînées (linked lists). + +Gestion de mémoire : +Utilisation de fonctions telles que malloc, free, pour la gestion dynamique. +Prévention des fuites de mémoire grâce à des tests rigoureux. + +Écriture d'une bibliothèque réutilisable : +Organisation et modularité du code source pour faciliter la réutilisation. + +Debugging et tests unitaires : +Identification et résolution des erreurs de segmentation ou de comportement inattendu. +Mise en place de tests pour valider le bon fonctionnement de chaque fonction. + +Points forts à valoriser : +Approche méthodique : La rigueur dans la mise en œuvre des fonctions standard permet de garantir un code robuste et performant. +Code réutilisable : La bibliothèque libft constitue une base solide qui peut être intégrée dans de nombreux projets futurs. +Polyvalence : Ce projet démontre une capacité à travailler sur des fonctions diverses allant de la manipulation de chaînes à la gestion des structures de données. + +Partie 1 : Fonctions de la bibliothèque standard C +ft_memset : Initialise une zone mémoire avec une valeur donnée. +ft_bzero : Initialise une zone mémoire à 0. +ft_memcpy : Copie une zone mémoire dans une autre. +ft_memmove : Déplace une zone mémoire, utile pour les zones qui se chevauchent. +ft_memchr : Recherche un caractère spécifique dans une zone mémoire. +ft_memcmp : Compare deux zones mémoire. +ft_strlen : Calcule la longueur d'une chaîne de caractères. +ft_strchr : Trouve la première occurrence d'un caractère dans une chaîne. +ft_strrchr : Trouve la dernière occurrence d'un caractère dans une chaîne. +ft_strncmp : Compare deux chaînes sur un nombre limité de caractères. +ft_strlcpy : Copie une chaîne avec une gestion sécurisée des débordements. +ft_strlcat : Concatène deux chaînes avec gestion des débordements. +ft_strnstr : Trouve une sous-chaîne dans une chaîne, avec une limite. +ft_atoi : Convertit une chaîne de caractères en entier. +ft_isalpha : Vérifie si un caractère est une lettre. +ft_isdigit : Vérifie si un caractère est un chiffre. +ft_isalnum : Vérifie si un caractère est une lettre ou un chiffre. +ft_isascii : Vérifie si un caractère appartient à la table ASCII. +ft_isprint : Vérifie si un caractère est imprimable. +ft_toupper : Convertit un caractère en majuscule. +ft_tolower : Convertit un caractère en minuscule. + +Partie 2 : Fonctions supplémentaires +ft_strdup : Duplique une chaîne de caractères. +ft_calloc : Alloue une zone mémoire initialisée à 0. + +Partie 3 : Fonctions bonus (Listes chaînées) +ft_lstnew : Crée un nouvel élément de liste chaînée. +ft_lstadd_front : Ajoute un élément au début d'une liste chaînée. +ft_lstsize : Calcule le nombre d'éléments dans une liste chaînée. +ft_lstlast : Renvoie le dernier élément d'une liste chaînée. +ft_lstadd_back : Ajoute un élément à la fin d'une liste chaînée. +ft_lstdelone : Supprime un élément d'une liste chaînée. +ft_lstclear : Supprime tous les éléments d'une liste chaînée. +ft_lstiter : Applique une fonction à chaque élément d'une liste chaînée. +ft_lstmap : Crée une nouvelle liste en appliquant une fonction à chaque élément.