Skip to content

Recoding standard C functions (and more) from scratch. A 42 student basic toolbox.

License

Notifications You must be signed in to change notification settings

AugustinLopez/libft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libft

The libft library is the first project from the 42 curriculum. While a 42 student rarely has access to external libraries, the use of our libft is always authorized and encouraged.

Useful links

Available Functions

Symbol Meaning
Standard C Functions.
Non Standard C Functions.
Subject Functions.
Bonus Functions.

Print/Put Functions

Raw Memory Functions

Singly Linked List Functions

  • ⬛⚪ t_list *ft_lstnew(void const *content, size_t content_size);
  • ⬛⚪ void ft_lstdelone(t_list **alst, void (*del)(void *, size_t));
  • ⬛⚪ void ft_lstdel(t_list **alst, void (*del)(void *, size_t));
  • ⬛⚪ void ft_lstadd(t_list **alst, t_list *new);
  • ⬛⚪ void ft_lstmap(t_list *lst, t_list *(*f)(t_list * elem));
  • ⬛⚪ void ft_lstiter(t_list *lst, void (*f)(t_list *elem));
  • ⬛⚫ void ft_lstinsert(t_list **alst, t_list *new);
  • ⬛⚫ void ft_lstappend(t_list **alst, t_list *new);
  • ⬛⚫ void ft_lstfree(void *content, size_t content_size);
  • ⬛⚫ size_t ft_lstsize(t_list *lst);

Is 'A' Functions

  • ⬜⚪ int ft_isalpha(int c);
  • ⬜⚪ int ft_isdigit(int c);
  • ⬜⚪ int ft_isalnum(int c);
  • ⬜⚪ int ft_isascii(int c);
  • ⬜⚪ int ft_isprint(int c);
  • ⬛⚫ int ft_iswhitespace(char *s, int ignore_line_feed);

'A' To 'B' Functions

  • ⬜⚪ int ft_atoi(const char *src);
  • ⬜⚪ int ft_toupper(int c);
  • ⬜⚪ int ft_tolower(int c);
  • ⬛⚪ char *ft_itoa(int n);
  • ⬛⚫ size_t ft_atozu(const char *src);

String Search Functions

  • ⬜⚪ ft_strlen
  • ⬜⚪ ft_strchr
  • ⬜⚪ ft_strcmp
  • ⬜⚪ ft_strncmp
  • ⬜⚪ char *ft_strstr(const char *haystack, const char *needle);
  • ⬜⚪ char *ft_strnstr(const char *haystack, const char *needle, size_t len);
  • ⬛⚪ int ft_strequ(char const *s1, char const *s2);
  • ⬛⚪ int ft_strnequ(char const *s1, char const *s2);
  • ⬛⚫ char *ft_strastr(const char *s1, const char *s2);
  • ⬛⚫ size_t ft_strastri(const char *s1, const char *s2);
  • ⬛⚫ size_t ft_strchri(const char *s, int c);
  • ⬛⚫ size_t ft_strnchri(const char *s, int c, size_t n);
  • ⬛⚫ int ft_strlcmp(const char *s1, const char *s2);
  • ⬛⚫ char *ft_strrstr(const char *haystack, const char *needle);
  • ⬛⚫ char *ft_strrchr(const char *s, int c);

String Modification Functions

  • ⬜⚪ char *ft_strcat(char *s1, const char *s2);
  • ⬜⚪ char *ft_strncat(char *s1, const char *s2, size_t n);
  • ⬜⚪ char *ft_strlcat(char *s1, const char *s2, size_t n);
  • ⬜⚪ char *ft_strdup(const char *s1);
  • ⬜⚪ char *ft_strcpy(char *dst, const char *src);
  • ⬜⚪ char *ft_strncpy(char *dst, const char *src, size_t len);
  • ⬛⚪ void ft_strclr(char *s);
  • ⬛⚪ void ft_strdel(char **as);
  • ⬛⚪ char *ft_strnew(size_t size);
  • ⬛⚪ char *ft_strsub(char const *s, unsigned int start, size_t len);
  • ⬛⚪ char *ft_strjoin(char const *s1, char const *s2);
  • ⬛⚪ char *ft_strtrim(char const *s);
  • ⬛⚪ void ft_strtiter(char *s, void (*f)(char *));
  • ⬛⚪ void ft_striteri(char *s, void (*f)(unsigned int, char *));
  • ⬛⚪ char *ft_strmap(char const *s, char (*f)(char));
  • ⬛⚪ char *ft_strmapi(char const *s, char (*f)(unsigned int, char));
  • ⬛⚫ char *ft_pathjoin(char const *s1, char const *s2);
  • ⬛⚫ void ft_free_sarray(char ***s);

Parsing Functions

  • ⬛⚪ char **ft_strsplit(char const *s, char c);
  • ⬛⚫ char **ft_strssplit(char const *s, char const *c);
  • ⬛⚫ int ft_gnl(const int fd, char **line, int keep_n);

About

Recoding standard C functions (and more) from scratch. A 42 student basic toolbox.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published