Premier projet de l'ecole 42 : coder une librairie libft.a à l'identique pour les fonctions de la premiere partie et en suivant les recommendations dans la seconde partie.
Consulter le man pour la description des fonctions suivantes :
- ft_memset
- ft_bzero
- ft_memcpy
- ft_memccpy
- ft_memmove
- ft_memchr
- ft_memcmp
- ft_strlen
- ft_strdup
- ft_strcpy
- ft_strncpy
- ft_strcat
- ft_strncat
- ft_strlcat
- ft_strchr
- ft_strrchr
- ft_strstrs
- ft_strnstr
- ft_strcmp
- ft_strncmp
- ft_atoi
- ft_isalpha
- ft_isdigit
- ft_isalnum
- ft_isascii
- ft_isprint
- ft_toupper
- ft_tolower
Alloue avec
malloc(3)et retourne une zone de memoire "fraiche". La memoire allouee est intialisee a 0. Si l'allocation echoue, la fonction renvoieNULL.
Prend en parametre l’adresse d’un pointeur dont la zone pointee doit etre liberee avec
free(3), puis le pointeur est mis aNULL.
Alloue avec
malloc(3)et retourne une chaine de caractere “fraiche” terminee par un’\0’. Chaque caractere de la chaine est initialise a’\0’. Si l’allocation echoue, la fonction renvoieNULL.
Prend en parametre l’adresse d’une chaine de caracteres qui doit etre liberee avec
free(3)et son pointeur mis aNULL.
Assigne la valeur
’\0’a tous les caracteres de la chaine passee en parametre.
Applique la fonction
fa chaque caractere de la chaine de caracteres passee en parametre. Chaque caractere est passe par adresse a la fonctionfafin de pouvoir être modifie si necessaire.
Applique la fonction
fa chaque caractere de la chaine de caracteres passee en parametre en precisant son index en premier argument. Chaque caractere est passe par adresse a la fonctionfafin de pouvoir etre modifie si necessaire.
Applique la fonction
fa chaque caractere de la chaine de caracteres passee en parametre pour creer une nouvelle chaine “fraiche” avecmalloc(3)resultant des applications successives def.
Applique la fonction
fa chaque caractere de la chaine de caracteres passee en parametre en precisant son index pour creer une nouvelle chaine “fraiche” avecmalloc(3)resultant des applications successives def.
Compare lexicographiquement s1 et s2. Si les deux chaines sont egales, la fonction retourne 1, ou 0 sinon.
Compare lexicographiquement s1 et s2 jusqu’a n caracteres maximum ou bien qu’un
’\0’ait ete rencontre. Si les deux chaines sont egales, la fonction retourne 1, ou 0 sinon.
Alloue avec
malloc(3)et retourne la copie "fraiche" d'un troncon de la chaine de caracteres passee en parametre. Le troncon commence a l'indexstartet a pour longueurlen. Sistartetlenne designent pas un troncon de chaine valide, le comportement est indetermine. Si l'allocation echoue, la fonction renvoieNULL.
Alloue avec
malloc(3)et retourne une chaine de caracteres "fraiche" terminee pas un'\0'resultant de la concatenation des1ets2. Si l'allocation echoue, la fonction renvoieNULL.
Alloue avec
malloc(3)et retourne une copie de la chaine passee en parametre sans les espaces blancs au debut et a la fin de cette chaine. On considere comme des espaces blancs les caracteres' ','\n'et'\t'. Sisne contient pas d'espaces blancs au debut ou a la fin, la fonction renvoie une copie des. Si l'allocation echoue, la fonction renvoieNULL.
Alloue avec
malloc(3)et retourne un tableau de chaines de caracteres "fraiches" (toutes terminees par un'\0', le tableau egalement donc) resultant de la decoupe desselon le caracterec. Si l'allocation echoue, la fonction retourneNULL.
Alloue avec
malloc(3)et retourne une chaine de caracteres "fraiche" terminee par un'\0'representatnt l'entiernpasse en parametre. Les nombres negatifs sont geres. Si l'allocation echoue, la fonction renvoieNULL.
Affiche le caractere
csur la sortie standard.
Affiche la chaine
ssur la sortir standard.
Affiche la chaine
ssur la sortie standard suivi d'un'\n'.
Affiche l'entier
nsur la sortie standard.
Ecrit le caractere
csur le descripteur de fichierfd.
Ecrit la chaine
ssur le descripteur de fichierfd.
Ecrit la chaine
ssur le descripteur de fichierfdsuivi d'un'\n'.
Ecrit l'entier
nsur le descripteur de fichierfd.
Alloue avec
malloc(3)et retourne un maillon “frais”. Les champscontentetcontent_sizedu nouveau maillon sont initialises par copie des parametres de la fonction. Si le parametrecontentest nul, le champscontentest initialise aNULLet le champscontent_sizeest initialise a 0 quelque soit la valeur du parametrecontent_size. Le champnextest initialise aNULL. Si l’allocation echoue, la fonction renvoieNULL.
Prend en parametre l’adresse d’un pointeur sur un maillon et libere la memoire du contenu de ce maillon avec la fonction
delpassee en parametre puis libere la memoire du maillon en lui meme avecfree(3). La memoire du champnextne doit en aucun cas être liberee. Pour terminer, le pointeur sur le maillon maintenant libere doit etre mis aNULL(de maniere similaire à la fonction ft_memdel).
Prend en parametre l’adresse d’un pointeur sur un maillon et libere la memoire de ce maillon et celle de tous ses successeurs l’un apres l’autre avec
deletfree(3). Pour terminer, le pointeur sur le premier maillon maintenant libere doit etre mis àNULL(de maniere similaire à la fonction ft_memdel).
Ajoute l'element
newen tete de la liste.
Parcourt la liste
lsten appliquant a chaque maillon la fonctionf.
Parcourt la liste lst en appliquant à chaque maillon la fonction f et cree une nouvelle liste “fraiche” avec
malloc(3)resultant des applications successives. Si une allocation echoue, la fonction renvoieNULL.
Retourne vrai si le caractere
cpasse est en majuscule. Ne fonctionne qu'avec les caracteres ASCII.
Retourne vrai si le caractere
cpasse est en minuscule. Ne fonctionne qu'avec les caracteres ASCII.
Passe toute la chaine de caractere en minuscule.
Passe toute la chaine de caractere en majuscule.
Initialise toute la chaine de caractere, terminee par un
'\0', avec le caractere passe en parametre.
Cree une nouvelle chaine de caractere initialisee avec le caractere passe en parametre et ajoute un
'\0'a la fin.
int get_next_line(int const fd, char **line)
int ft_count_words(char *s, char c)
long int ft_strtol(char *line)
Utilise la recursivite pour le calcul.
float ft_power(int nb, int exp)
Ajoute un nouvel element
newen fin de listelist.void ft_lstappend(t_list *list, t_list *new)