42 school's first project, libft, is about learning how the standard functions of C programming work, by coding them from scratch and creating our very own library.
First, clone this repository and cd
into it:
$ git clone https://github.com/riceset/libft; cd libft
Compile the library with:
$ make
Or use the following command to compile it with the bonus files:
$ make bonus
After running make
a file called libft.a
(.a is an extention used for static libraries) will be generated.
To use it, create a main function somewhere and include the libft.h
header file into it.
#include "libft.h"
int main(void)
{
ft_putstr_fd("Hello World!\n", 1);
return (0);
}
When compiling it, include the libft.a
library with it.
$ cc main.c libft.a -I ./includes -o main
Hello World!
The mandatory functions of libft are either functions from the standard C library or other useful functions. They are mostly useful for character, string and memory manipulation. These 34 mandatory functions must be done correctly to get a 100% grade.
- ft_isalpha
- ft_isdigit
- ft_isalnum
- ft_isascii
- ft_isprint
- ft_toupper
- ft_tolower
- ft_strlen
- ft_strlcpy
- ft_strlcat
- ft_strchr
- ft_strrchr
- ft_strncmp
- ft_strnstr
- ft_substr
- ft_strjoin
- ft_strtrim
- ft_split
- ft_strmapi
- ft_striteri
- ft_calloc
- ft_memset
- ft_bzero
- ft_memcpy
- ft_memmove
- ft_memchr
- ft_memcmp
- ft_strdup
- ft_atoi
- ft_itoa
- ft_putchar_fd
- ft_putstr_fd
- ft_putendl_fd
- ft_putnbr_fd
The bonus functions of libft deal with list manipulation. This part is worth an extra 25% to the final grade.
- ft_lstnew
- ft_lstadd_front
- ft_lstsize
- ft_lstlast
- ft_lstadd_back
- ft_lstdelone
- ft_lstclear
- ft_lstiter
- ft_lstmap
Some functions weren't mentioned above.