Ce premier projet en tant qu'étudiant de 42 va vous faire consolider vos acquis de piscine. Vous allez recoder un certain nombre de fonctions de la librairie C standard, ainsi que d'autres fonctions utilitaires que vous réutiliserez tout au long de votre cursus.
make (re, clean, fclean, bonus)
Vous devez recoder les fonctions suivantes. Ces fonctions ne nécessitent aucune fonction externe :
memsetbzeromemcpymemccpymemmovememchrmemcmpstrlenisalphaisdigitisalnumisasciiisprinttouppertolowerstrchrstrrchrstrncmpstrlcpystrlcatstrnstratoi
Vous devez également recoder ces fonctions, en faisant appel à la fonction “malloc” :
callocstrdup
Dans cette seconde partie, vous devrez coder un certain nombre de fonctions absentes de la libc ou présentes dans une forme différente. Certaines de ces fonctions peuvent avoir de l’intéret pour faciliter l’écriture des fonctions de la première partie.
ft_substrft_strjoinft_strtrimft_splitft_itoaft_strmapift_putchar_fdft_putstr_fdft_putendl_fdft_putnbr_fd
Si vous avez réussi parfaitement la partie obligatoire, cette section propose quelques pistes pour aller plus loin. Un peu comme quand vous achetez un DLC pour un jeu vidéo.
Avoir des fonctions de manipulation de mémoire brute et de chaînes de caractères est très pratique, mais vous vous rendrez vite compte qu’avoir des fonctions de manipulation de liste est encore plus pratique.
Vous utiliserez la structure suivante pour représenter les maillons de votre liste. Cette structure est à ajouter à votre fichier libft.h.
make bonus vous permettra d’ajouter les fonctions demandées dans votre librairie libft.a
Vous ne devez pas rajouter _bonus à la fin des fichiers .c et des headers de cette partie ne rajoutez _bonus que sur des fichiers supplémentaires que vous auriez fait pour les bonus seulement.
typedef struct s_list
{
void *content;
struct s_list *next;
} t_list;
La description des champs de la structure t_list est la suivante :
content: La donnée contenue dans le maillon. Le void * permet de stocker une donnée de n’importe quel type.next: L’adresse du maillon suivant de la liste ou NULL si le maillon est le dernier
Les fonctions suivantes vous permettront de manipuler vos listes aisément.
ft_lstnewft_lstadd_frontft_lstsizeft_lstlastft_lstadd_backft_lstdeloneft_lstclearft_lstiterft_lstmap


