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.
- The libft PDF subject
- The get_next_line PDF subject
- The printf PDF subject
- The GNU C Library Sources
- The 42 File Checker
- The Libftest
- The ft_printf checker
- The IEEE 754 Standard for Floating-Point
| Symbol | Meaning |
|---|---|
| ⬜ | Standard C Functions. |
| ⬛ | Non Standard C Functions. |
| ⚪ | Subject Functions. |
| ⚫ | Bonus Functions. |
- ⬛⚪ ft_putchar
- ⬛⚪ ft_putchar_fd
- ⬛⚪ ft_putendl
- ⬛⚪ ft_putendl_fd
- ⬛⚪ ft_putnbr
- ⬛⚪ ft_putnbr_fd
- ⬛⚪ ft_putstr
- ⬛⚪ ft_putstr_fd
- ⬜⚫ int ft_printf(const char *format, ...);
- ⬜⚫ int ft_dprintf(int fd, const char *format, ...);
- ⬜⚫ char *ft_sprintf(const char *format, ...);
- ⬛⚫ int ft_nprintf(const char *format, ...);
- ⬜⚪ ft_memset
- ⬜⚪ ft_memcpy
- ⬜⚪ ft_memccpy
- ⬜⚪ ft_memmove
- ⬜⚪ ft_memchr
- ⬜⚪ ft_memcmp
- ⬛⚪ ft_bzero
- ⬛⚪ ft_memdel
- ⬛⚪ ft_memalloc
- ⬛⚪ 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);
- ⬜⚪ 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);
- ⬜⚪ 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);
- ⬜⚪ 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);
- ⬜⚪ 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);
- ⬛⚪ 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);