Skip to content

Latest commit

 

History

History
executable file
·
145 lines (119 loc) · 14 KB

README.md

File metadata and controls

executable file
·
145 lines (119 loc) · 14 KB

42Libft

42 Silicon Valley

Standard Norminette License

Table of Content

  1. About
  2. Norminette
  3. Functions
  4. Data Structures
  5. Usage
  6. License

About

42Libft is an open source C library with over 200+ functions.

It includes:

  • Recreated Standard C Library functions (stdio, stdlib, string, ctype, math)
  • Implementations of Data Structures (binary trees, linked lists, stacks, queues, tries, hashtables)
  • Implementation of BigInt (an infinitely big number type)
  • Implementation of Bit Manipulation Functions
  • and more !

By developing this library, I gained a very deep & thorough understanding of the C Language and its Standard Library functions but also a great understanding of data structures, algorithms, unit testing, continuous integration, troubleshooting, and proper documentation.

Norminette

All library functions follow 42 Silicon Valley's coding standard & style-guide: Norminette.


Functions

Stdio_42 Stdlib_42 String_42 Ctype_42 Math_42
ft_printf ft_atoi ft_strnew ft_isalnum ft_max
ft_dprintf ft_atoi_base ft_strclr ft_isalpha ft_min
ft_sprintf ft_itoa ft_strdel ft_isascii ft_pow
ft_asprintf ft_ftoa ft_strrev ft_isblank ft_powl
ft_vprintf ft_itoa_base ft_strmap ft_iscntrl ft_powll
ft_vdprintf ft_utoa_base ft_strmapi ft_isdigit ft_sqrt
ft_vsprintf ft_ftoa_base ft_strequ ft_isgraph ft_round
ft_vasprintf ft_dtoa_base ft_strnequ ft_islower ft_sum
ft_readfile ft_ldtoa_base ft_striter ft_isprime ft_sum_generic
ft_readline ft_convert_base ft_striteri ft_isprint
ft_malloc ft_strchr ft_ispunct
ft_putbits ft_realloc ft_strchrs ft_isspace
ft_putchar ft_bzero ft_strrchr ft_isupper
ft_putstr ft_memalloc ft_strstr ft_ischarset
ft_putstrtab ft_memccpy ft_strnstr ft_isstrset
ft_putendl ft_memchr ft_strcmp ft_tolower
ft_putnbr ft_memcmp ft_strncmp ft_toupper
ft_putnbr_base ft_memcpy ft_strcat
ft_putchar_fd ft_memdel ft_strncat
ft_putendl_fd ft_memmove ft_strlcat
ft_putnbr_fd ft_memset ft_strcpy
ft_putnbr_base_fd ft_intlen ft_strncpy
ft_putstr_fd ft_intmaxlen_base ft_strlcpy
ft_putstrtab_fd ft_uintmaxlen_base ft_strcpy_until
ft_swap_char ft_strdup
ft_swap_int ft_strndup
ft_swap_ptr ft_strsub
ft_swap_str ft_strnlen
ft_padding ft_strlen
ft_wcount ft_strsplit
ft_chrcount ft_strjoin
ft_matrix_clear ft_strappend
ft_matrix_new ft_strprepend
ft_find_next_prime ft_strnjoin
ft_strnappend
ft_strnprepend
ft_strtrim
ft_strstrip
ft_strlstrip
ft_strrstrip
ft_strnlstrip
ft_strnrstrip

...and there's even MORE !


Data Structures

Lists-Stacks-Queues Binary Trees Tries Hashtables
list_append btree_apply_infix trie_clear hashtab_clear
list_append_both btree_apply_prefix trie_count hashtab_count
list_append_tail btree_apply_suffix trie_getitem hashtab_destroy
list_clear btree_getitem trie_insert hashtab_getentry
list_count btree_insert trie_newnode hashtab_getitem
list_elem_at btree_level_count trie_remove hashtab_grow
list_extend btree_newnode hashtab_init
list_extend_tail hashtab_insert
list_extendleft hashtab_new
list_getelem hashtab_popitem
list_getitem hashtab_remove
list_insert hashtab_shrink
list_insert_at
list_item_at
list_iter
list_iteri
list_last_elem
list_last_item
list_map
list_merge
list_newelem
list_pop
list_pop_item
list_pop_item_at
list_pop_tail
list_popleft
list_prepend
list_remove_elem
list_remove_elem_at
list_remove_item
list_remove_item_at
list_reverse
list_sort

Usage

Git clone the repository :

$> git clone https://github.com/akharrou/42-Project-Libft.git Libft && cd Libft

Build the Library :

$> make

Copy/Move the Includes/ Directory & the libft.a Executable into the Root of your Project :

$> cp -R Includes libft.a <root_of_your_project>

Compile your source code with the Library binary:

$> gcc libft.a <your_file.c>