Skip to content

aceyzz/Libft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

42_libft

42_libft

English version

Fonctions abordees

Index

Fonctions de Base (Manipulation de Caractères et de Mémoire) :

  • isalpha : int ft_isalpha(int c); Vérifie si le caractère passé en argument est une lettre alphabétique.
  • isdigit : int ft_isdigit(int c); Vérifie si le caractère passé en argument est un chiffre décimal.
  • isalnum : int ft_isalnum(int c); Vérifie si le caractère passé en argument est un caractère alphanumérique.
  • isascii : int ft_isascii(int c); Vérifie si le caractère passé en argument est un caractère ASCII.
  • isprint : int ft_isprint(int c); Vérifie si le caractère passé en argument est un caractère imprimable.
  • strlen : size_t ft_strlen(const char *s); Calcule la longueur d'une chaîne de caractères.
  • memset : void *ft_memset(void *b, int c, size_t len); Remplit une zone mémoire avec une valeur donnée.
  • bzero : void ft_bzero(void *s, size_t n); Remplit les premiers octets de la mémoire pointée par s avec l'octet nul (valeur 0).
  • memcpy : void *ft_memcpy(void *dst, const void *src, size_t n); Copie une zone mémoire source dans une zone mémoire destination.
  • memmove : void *ft_memmove(void *dst, const void *src, size_t len); Copie une zone mémoire source dans une zone mémoire destination, même si elles se chevauchent.
  • strlcpy : size_t ft_strlcpy(char *dst, const char *src, size_t dstsize); Copie une chaîne de caractères dans une autre en limitant la taille de destination.
  • strlcat : size_t ft_strlcat(char *dest, const char *src, size_t dstsize); Concatène deux chaînes de caractères en limitant la taille du résultat.
  • toupper : int ft_toupper(int c); Convertit un caractère minuscule en caractère majuscule si c'est une lettre minuscule.
  • tolower : int ft_tolower(int c); Convertit un caractère majuscule en caractère minuscule si c'est une lettre majuscule.
  • strchr : char *ft_strchr(const char *s, int c); Recherche la première occurrence d'un caractère dans une chaîne de caractères.
  • strrchr : char *ft_strrchr(const char *s, int c); Recherche la dernière occurrence d'un caractère dans une chaîne de caractères.
  • strncmp : int ft_strncmp(const char *s1, const char *s2, size_t n); Compare les n premiers caractères de deux chaînes de caractères.
  • memchr : void *ft_memchr(const void *s, int c, size_t n); Recherche une valeur dans une zone mémoire.
  • memcmp : int ft_memcmp(const void *s1, const void *s2, size_t n); Compare les n premiers octets de deux zones mémoire.
  • strnstr : char *ft_strnstr(const char *haystack, const char *needle, size_t len); Recherche une sous-chaîne dans une chaîne avec une limite de longueur.
  • atoi : int ft_atoi(const char *str); Convertit une chaîne de caractères en un entier.

Fonctions de Gestion de Mémoire (Allocation et Libération) :

  • calloc : void *ft_calloc(size_t count, size_t size); Alloue et initialise un bloc de mémoire à zéro.
  • strdup : char *ft_strdup(const char *s1); Duplique une chaîne de caractères.

Fonctions de Manipulation de Chaînes de Caractères :

  • substr : char *ft_substr(char const *s, unsigned int start, size_t len); Extrait une sous-chaîne d'une chaîne de caractères.
  • strjoin : char *ft_strjoin(char const *s1, char const *s2); Concatène deux chaînes de caractères.
  • strtrim : char *ft_strtrim(char const *s1, char const *set); Supprime les caractères spécifiés en début et en fin d'une chaîne de caractères.
  • split : char **ft_split(char const *s, char c); Divise une chaîne de caractères en mots en utilisant un caractère délimiteur.
  • itoa : char *ft_itoa(int n); Convertit un entier en chaîne de caractères.
  • strmapi : char *ft_strmapi(char const *s, char (*f)(unsigned int, char)); Applique une fonction à chaque caractère d'une chaîne avec son index en argument.
  • striteri : void ft_striteri(char *s, void (*f)(unsigned int, char *)); Applique une fonction à chaque caractère d'une chaîne avec son index en argument.

Fonctions de Liste Chaînée (Partie Bonus) :

  • lstnew : t_list *ft_lstnew(void *content); Crée un nouvel élément de liste avec la donnée passée en argument.
  • lstadd_front : void ft_lstadd_front(t_list **lst, t_list *new); Ajoute un nouvel élément au début de la liste.
  • lstsize : int ft_lstsize(t_list *lst); Calcule la taille de la liste en comptant le nombre d'éléments.
  • lstlast : t_list *ft_lstlast(t_list *lst); Renvoie un pointeur vers le dernier élément de la liste.
  • lstadd_back : void ft_lstadd_back(t_list **lst, t_list *new); Ajoute un élément à la fin de la liste chaînée.
  • lstdelone : void ft_lstdelone(t_list *lst, void (*del)(void *)); Supprime un élément de la liste sans supprimer la structure de données qu'il contenait.
  • lstclear : void ft_lstclear(t_list **lst, void (*del)(void *)); Supprime et libère la mémoire de tous les éléments de la liste en utilisant une fonction de suppression.
  • lstiter : void ft_lstiter(t_list *lst, void (*f)(void *)) Applique la fonction 'f' à chaque 'content' de 'lst'.
  • lstmap : t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)) Applique la fonction 'f' à chaque élément de la liste, crée une nouvelle liste avec les résultats et retourne un pointeur vers la nouvelle liste. En cas d'échec d'allocation mémoire, libère la nouvelle liste ainsi que son contenu en utilisant 'del' et renvoie NULL.

Resultats des tests

war-machine

libfttester

unit-test

fosares

Moulinette

Note Tests

Liens utiles

Liens Github

Norminette 42 Norminette 42 pour le Terminal.
Francinette Programme de different tests des modules du Cursus 42.

Extensions VSCode

42_ft_line_counter Compteur de lignes par fonction (utile pour la Norminette).
42_header Header de l'école 42.
Norminette 42 Norminette non-officielle pour VSCode.


ENGLISH VERSION

Covered Functions

Index

Basic Functions (Character and Memory Manipulation):

  • isalpha : int ft_isalpha(int c); Checks if the character passed as an argument is an alphabetic letter.
  • isdigit : int ft_isdigit(int c); Checks if the character passed as an argument is a decimal digit.
  • isalnum : int ft_isalnum(int c); Checks if the character passed as an argument is an alphanumeric character.
  • isascii : int ft_isascii(int c); Checks if the character passed as an argument is an ASCII character.
  • isprint : int ft_isprint(int c); Checks if the character passed as an argument is a printable character.
  • strlen : size_t ft_strlen(const char *s); Calculates the length of a string.
  • memset : void *ft_memset(void *b, int c, size_t len); Fills a memory area with a given value.
  • bzero : void ft_bzero(void *s, size_t n); Fills the first bytes of the memory pointed to by s with the null byte (value 0).
  • memcpy : void *ft_memcpy(void *dst, const void *src, size_t n); Copies a source memory area into a destination memory area.
  • memmove : void *ft_memmove(void *dst, const void *src, size_t len); Copies a source memory area into a destination memory area, even if they overlap.
  • strlcpy : size_t ft_strlcpy(char *dst, const char *src, size_t dstsize); Copies a string into another limiting the destination size.
  • strlcat : size_t ft_strlcat(char *dest, const char *src, size_t dstsize); Concatenates two strings limiting the result's size.
  • toupper : int ft_toupper(int c); Converts a lowercase character to uppercase if it's a lowercase letter.
  • tolower : int ft_tolower(int c); Converts an uppercase character to lowercase if it's an uppercase letter.
  • strchr : char *ft_strchr(const char *s, int c); Searches for the first occurrence of a character in a string.
  • strrchr : char *ft_strrchr(const char *s, int c); Searches for the last occurrence of a character in a string.
  • strncmp : int ft_strncmp(const char *s1, const char *s2, size_t n); Compares the first n characters of two strings.
  • memchr : void *ft_memchr(const void *s, int c, size_t n); Searches for a value in a memory area.
  • memcmp : int ft_memcmp(const void *s1, const void *s2, size_t n); Compares the first n bytes of two memory areas.
  • strnstr : char *ft_strnstr(const char *haystack, const char *needle, size_t len); Searches for a substring in a string with a length limit.
  • atoi : int ft_atoi(const char *str); Converts a string to an integer.

Memory Management Functions (Allocation and Release):

  • calloc : void *ft_calloc(size_t count, size_t size); Allocates and initializes a memory block to zero.
  • strdup : char *ft_strdup(const char *s1); Duplicates a string.

String Manipulation Functions:

  • substr : char *ft_substr(char const *s, unsigned int start, size_t len); Extracts a substring from a string.
  • strjoin : char *ft_strjoin(char const *s1, char const *s2); Concatenates two strings.
  • strtrim : char *ft_strtrim(char const *s1, char const *set); Removes specified characters from the start and end of a string.
  • split : char **ft_split(char const *s, char c); Splits a string into words using a delimiter character.
  • itoa : char *ft_itoa(int n); Converts an integer to a string.
  • strmapi : char *ft_strmapi(char const *s, char (*f)(unsigned int, char)); Applies a function to each character of a string with its index as argument.
  • striteri : void ft_striteri(char *s, void (*f)(unsigned int, char *)); Applies a function to each character of a string with its index as argument.

Linked List Functions (Bonus Part):

  • lstnew : t_list *ft_lstnew(void *content); Creates a new list element with the data passed as argument.
  • lstadd_front : void ft_lstadd_front(t_list **lst, t_list *new); Adds a new element at the beginning of the list.
  • lstsize : int ft_lstsize(t_list *lst); Calculates the size of the list by counting the number of elements.
  • lstlast : t_list *ft_lstlast(t_list *lst); Returns a pointer to the last element of the list.
  • lstadd_back : void ft_lstadd_back(t_list **lst, t_list *new); Adds an element at the end of the linked list.
  • lstdelone : void ft_lstdelone(t_list *lst, void (*del)(void *)); Deletes an element from the list without deleting the data structure it contained.
  • lstclear : void ft_lstclear(t_list **lst, void (*del)(void *)); Deletes and frees the memory of all the list's elements using a deletion function.
  • lstiter : void ft_lstiter(t_list *lst, void (*f)(void *)); Applies the function 'f' to the 'content' of each 'lst'.
  • lstmap : t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)); Applies the function 'f' to each element of the list, creates a new list with the results, and returns a pointer to the new list. In case of memory allocation failure, frees the new list and its content using 'del' and returns NULL.

Test Results

war-machine

libfttester

unit-test

fsoares

Moulinette

Grade Tests

Useful Links

Github Links

Norminette 42 Norminette 42 for Terminal.
Francinette Different test programs for 42 Curriculum modules.

VSCode Extensions

42_ft_line_counter Line counter per function (useful for Norminette).
42_header 42 School header.
Norminette 42 Unofficial Norminette for VSCode.


License

This work is published under the terms of 42 Unlicense.

DON'T COPY. LEARN.

Releases

No releases published

Packages

No packages published