Bienvenue dans libft ! 🎉 Mon premier projet à l'École 42 🎓, où je recrée une librairie standard en C. 🔧
La Libft est une librairie personnalisée développée en C, regroupant des fonctions utilitaires que nous pourrons réutiliser dans nos futurs projets à 42.
- Fonctions de gestion des chaînes de caractères :
ft_strlen: Calcule la longueur d'une chaîne de caractères.ft_strlcpy: Copie une chaîne de caractères.ft_strncmp: Compare deux chaînes de caractères.
- Fonctions de gestion de la mémoire :
ft_memset: Remplit une zone mémoire avec une valeur spécifiée.ft_bzero: Initialise une zone mémoire à zéro.ft_memcpy: Copie des zones mémoire.
- Fonctions d’allocations dynamiques :
ft_strdup: Alloue de la mémoire et copie une chaîne de caractères.ft_calloc: Alloue et initialise de la mémoire pour un tableau.
- Fonctions de conversion :
ft_atoi: Convertit une chaîne de caractères en entier.ft_itoa: Convertit un entier en chaîne de caractères.
Pour utiliser cette bibliothèque dans vos projets, compilez les fichiers .c et incluez libft.h.
Utilisez le Makefile pour compiler la bibliothèque. Voici les commandes disponibles :
# Compiler la bibliothèque
make
# Nettoyer les fichiers objets
make clean
# Nettoyer les fichiers objets et l'exécutable
make fclean
# Recompiler la bibliothèque
make re
Une fois la compilation terminée, une bibliothèque statique libft.a sera générée. Vous pourrez l'utiliser en la liant avec vos projets C.
#include "libft.h"
int main(void)
{
char *str = "Hello, 42!";
int len = ft_strlen(str);
printf("La longueur de la chaîne est : %d\n", len);
return (0);
}Ce projet m'a permis de :
- M'initier à l'utilisation des Makefiles pour automatiser la compilation.
- Apprendre à gérer des pointeurs, la mémoire dynamique, et à manipuler des chaînes de caractères.
- Approfondir ma compréhension du C, un langage bas niveau qui est essentiel pour devenir un développeur polyvalent.
Ce projet est développé dans le cadre de mon cursus à 42 et constitue une partie intégrante de ma formation. Les suggestions sont les bienvenues ! Si vous souhaitez discuter des implémentations ou proposer des améliorations, n’hésitez pas à me contacter. 😊
Ce projet est sous la licence de l'École 42. Utilisation et modification libre pour l'apprentissage.
✨ Merci d'avoir visité mon projet ! 🚀
