{"id":25097544,"url":"https://github.com/iaceene/libft","last_synced_at":"2025-04-02T02:42:10.253Z","repository":{"id":271143438,"uuid":"844817325","full_name":"iaceene/Libft","owner":"iaceene","description":"Libft is a personal project commonly assigned to students learning C programming, especially in schools like 42. It is a library that provides a set of essential functions and utilities, essentially mimicking some of the functionality available in the standard C library (libc).","archived":false,"fork":false,"pushed_at":"2025-01-05T19:45:57.000Z","size":3694,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-07T17:38:52.580Z","etag":null,"topics":["1337school","42-cursus","c-programming","libft","linked-list"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iaceene.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-20T03:02:35.000Z","updated_at":"2025-01-05T19:46:00.000Z","dependencies_parsed_at":"2025-01-05T20:37:43.354Z","dependency_job_id":null,"html_url":"https://github.com/iaceene/Libft","commit_stats":null,"previous_names":["iaceene/libft"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iaceene%2FLibft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iaceene%2FLibft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iaceene%2FLibft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iaceene%2FLibft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iaceene","download_url":"https://codeload.github.com/iaceene/Libft/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246746871,"owners_count":20827061,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["1337school","42-cursus","c-programming","libft","linked-list"],"created_at":"2025-02-07T17:32:21.723Z","updated_at":"2025-04-02T02:42:10.237Z","avatar_url":"https://github.com/iaceene.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eLibft\u003c/h1\u003e\n\nLibft is a custom library of standard C functions developed as part of the 42 school curriculum. The goal of this project is to recreate common standard library functions, along with a few additional utilities, to better understand how these functions work internally and to practice writing efficient, reusable code.\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Functions](#functions)\n- [Usage](#usage)\n- [Compilation](#compilation)\n- [Testing](#testing)\n- [Contributing](#contributing)\n- [License](#license)\n- [Source Files](#source-files)\n\n## Introduction\n\nLibft is a foundational project in the 42 curriculum designed to help students build a better understanding of C programming, memory management, pointers, and data structures. The project involves implementing a set of standard functions (such as `strlen`, `memset`, and `strjoin`) and other utility functions that can be used in future projects.\n\n## Functions\n\nLibft includes the following categories of functions:\n\n1. **Libc Functions**: Reimplementations of standard C library functions.\n2. **Additional Functions**: Utility functions not present in the standard C library.\n3. **Bonus**: Functions for handling linked lists.\n\n### Some of the re-implemented functions include:\n\n- `ft_memset`\n- `ft_bzero`\n- `ft_memcpy`\n- `ft_strlen`\n- `ft_strchr`\n- `ft_strdup`\n- `ft_atoi`\n- `ft_toupper`\n- `ft_tolower`\n\nFor a full list of functions, see the [function list](#).\n\n## Usage\n\n1. Clone the repository:\n    ```bash\n    git clone https://github.com/iaceene/libft.git\n    ```\n\n2. Navigate to the `libft` directory:\n    ```bash\n    cd libft\n    ```\n\n3. Compile the library:\n    ```bash\n    make\n    ```\n\n4. Include the compiled library (`libft.a`) in your C project:\n    ```c\n    #include \"libft.h\"\n    ```\n\n## Compilation\n\nLibft is compiled using the provided Makefile. The following commands can be used to compile and manage the library:\n\n- `make`: Compiles the library.\n- `make clean`: Removes object files.\n- `make fclean`: Removes object files and the library.\n- `make re`: Recompiles the library from scratch.\n\n## Testing\n\nYou can test your `libft` implementation using external testers:\n\n- [libft-unit-test](https://github.com/alelievr/libft-unit-test)\n- [libft-war-machine](https://github.com/ska42/libft-war-machine)\n- [libft-tester](https://github.com/Tripouille/libftTester)\n\nSimply clone these repositories and run the tests.\n\n## Contributing\n\nContributions are welcome! If you find any bugs or want to add new features, feel free to open an issue or create a pull request.\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n## Source Files\n\nHere are the source files included in the `libft` library:\n\n### Standard Functions (`src`):\n\n- `ft_strlen.c`\n- `ft_strrchr.c`\n- `ft_toupper.c`\n- `ft_bzero.c`\n- `ft_isascii.c`\n- `ft_memcpy.c`\n- `ft_putnbr_fd.c`\n- `ft_striteri.c`\n- `ft_strmapi.c`\n- `ft_strtrim.c`\n- `ft_atoi.c`\n- `ft_itoa.c`\n- `ft_isalpha.c`\n- `ft_putendl_fd.c`\n- `ft_strdup.c`\n- `ft_isdigit.c`\n- `ft_memset.c`\n- `ft_split.c`\n- `ft_strjoin.c`\n- `ft_strncmp.c`\n- `ft_substr.c`\n- `ft_isalnum.c`\n- `ft_isprint.c`\n- `ft_putchar_fd.c`\n- `ft_strchr.c`\n- `ft_strlcpy.c`\n- `ft_strnstr.c`\n- `ft_tolower.c`\n- `ft_calloc.c`\n- `ft_memchr.c`\n- `ft_memcmp.c`\n- `ft_memmove.c`\n- `ft_putstr_fd.c`\n- `ft_strlcat.c`\n\n### Bonus Functions (`b_src`):\n\n- `ft_lstadd_back_bonus.c`\n- `ft_lstadd_front_bonus.c`\n- `ft_lstclear_bonus.c`\n- `ft_lstdelone_bonus.c`\n- `ft_lstiter_bonus.c`\n- `ft_lstlast_bonus.c`\n- `ft_lstnew_bonus.c`\n- `ft_lstsize_bonus.c`\n- `ft_lstmap_bonus.c`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiaceene%2Flibft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiaceene%2Flibft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiaceene%2Flibft/lists"}