Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chkg2a/libfn
This is a project for creating a library in C, containing a collection of functions that replicate the behavior of standard library functions.
https://github.com/chkg2a/libfn
c cpp standard-library
Last synced: about 1 month ago
JSON representation
This is a project for creating a library in C, containing a collection of functions that replicate the behavior of standard library functions.
- Host: GitHub
- URL: https://github.com/chkg2a/libfn
- Owner: chkg2a
- License: gpl-3.0
- Created: 2024-10-17T12:08:16.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-11-11T13:37:31.000Z (about 2 months ago)
- Last Synced: 2024-11-11T14:32:43.880Z (about 2 months ago)
- Topics: c, cpp, standard-library
- Language: C++
- Homepage:
- Size: 42 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Libfn
This is a project for creating a library in C, containing a collection of functions that replicate the behavior of standard library functions. This project is heavily inspired by [libft](https://github.com/myryk31415/libft/tree/main).
### Part 1 - Libc Functions
In this part, the behavior of standard libc functions are replicated with names prefixed by `fn_`. Functions to implement include:
- [x] `isalpha`
- [x] `isdigit`
- [x] `isalnum`
- [x] `isascii`
- [x] `isprint`
- [x] `strlen`
- [ ] `memset`
- [ ] `bzero`
- [ ] `memcpy`
- [ ] `memmove`
- [x] `strlcpy`
- [x] `strlcat`
- [x] `toupper`
- [x] `tolower`
- [ ] `strchr`
- [ ] `strrchr`
- [ ] `strncmp`
- [ ] `memchr`
- [ ] `memcmp`
- [ ] `strnstr`
- [x] `atoi`
- [ ] `calloc`
- [ ] `strdup`### Part 2 - Additional Functions
This part involves creating additional functions that either complement the libc functions or provide new functionality. Functions to implement include:
- [ ] `fn_substr`
- [ ] `fn_strjoin`
- [ ] `fn_strtrim`
- [ ] `fn_split`
- [ ] `fn_itoa`
- [ ] `fn_strmapi`
- [ ] `fn_striteri`
- [ ] `fn_putchar_fd`
- [ ] `fn_putstr_fd`
- [ ] `fn_putendl_fd`
- [ ] `fn_putnbr_fd`### Part 3 - Data Structures
This part involves creating standard well known data structures such as double linked list, single linked list, priority queue, queues, stack, binary search treel etc;
- [x] `fn_dll`
- [x] `fn_ll`
- [x] `fn_pqueue`
- [x] `fn_queue`
- [x] `fn_stack`
- [ ] `fn_bst`
- [ ] `fn_bt`