{"id":20269528,"url":"https://github.com/iker-gonzalez/libft","last_synced_at":"2026-05-02T08:32:16.436Z","repository":{"id":109131177,"uuid":"499566861","full_name":"iker-gonzalez/libft","owner":"iker-gonzalez","description":"Basic C functions compiled into a library used throughout the 42 cursus.","archived":false,"fork":false,"pushed_at":"2022-06-05T11:13:52.000Z","size":1338,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-10T23:27:02.335Z","etag":null,"topics":["42cursus","bash","basic-programming","c","library","linux","standard-library"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iker-gonzalez.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2022-06-03T15:47:55.000Z","updated_at":"2022-12-19T17:54:37.000Z","dependencies_parsed_at":"2023-04-09T23:51:29.865Z","dependency_job_id":null,"html_url":"https://github.com/iker-gonzalez/libft","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iker-gonzalez/libft","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iker-gonzalez%2Flibft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iker-gonzalez%2Flibft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iker-gonzalez%2Flibft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iker-gonzalez%2Flibft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iker-gonzalez","download_url":"https://codeload.github.com/iker-gonzalez/libft/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iker-gonzalez%2Flibft/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32528220,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["42cursus","bash","basic-programming","c","library","linux","standard-library"],"created_at":"2024-11-14T12:25:38.610Z","updated_at":"2026-05-02T08:32:16.414Z","avatar_url":"https://github.com/iker-gonzalez.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\n\t🎯 libft\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003cb\u003e\u003ci\u003eDevelopment repo for 42cursus' libft project\u003c/i\u003e\u003c/b\u003e\u003cbr\u003e\n\tFor further information about 42cursus and its projects, please refer to \u003ca href=\"https://github.com/iker-gonzalez/42_cursus\"\u003e\u003cb\u003e42cursus repo\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\t\u003cimg alt=\"GitHub code size in bytes\" src=\"https://img.shields.io/github/languages/code-size/iker-gonzalez/libft?color=blueviolet\" /\u003e\n\t\u003cimg alt=\"Number of lines of code\" src=\"https://img.shields.io/tokei/lines/github/iker-gonzalez/libft?color=blueviolet\" /\u003e\n\t\u003cimg alt=\"Code language count\" src=\"https://img.shields.io/github/languages/count/iker-gonzalez/libft?color=blue\" /\u003e\n\t\u003cimg alt=\"GitHub top language\" src=\"https://img.shields.io/github/languages/top/iker-gonzalez/libft?color=blue\" /\u003e\n\t\u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/iker-gonzalez/libft?color=brightgreen\" /\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003e\n\t\u003ca href=\"#%EF%B8%8F-about\"\u003eAbout\u003c/a\u003e\n\t\u003cspan\u003e · \u003c/span\u003e\n\t\u003ca href=\"#%EF%B8%8F-usage\"\u003eUsage\u003c/a\u003e\n\t\u003cspan\u003e · \u003c/span\u003e\n\t\u003ca href=\"#-testing\"\u003eTesting\u003c/a\u003e\n\u003c/h3\u003e\n\n---\n\n## 🗣️ About\n\n\u003e _The aim of this project is to code a C library regrouping usual functions that you'll be allowed to use in all your other projects._\n\nFor more detailed information, look at the [**subject of this project.**](https://github.com/iker-gonzalez/42_cursus/blob/main/_PDFs/en.subject_libft.pdf)\n\n\t🚀 This project consists of coding basic C functions (see below), which are then compiled\n\tinto a library for use in other projects of the cursus.\n\n## List of functions:\n\n### Functions from `\u003cctype.h\u003e` library\n\n* [`ft_isascii`](ft_isascii.c)               - test for ASCII character.                                               \n* [`ft_isalnum`](ft_isalnum.c)\t           - alphanumeric character test.                                            \n* [`ft_isalpha`](ft_isalpha.c)               - alphabetic character test.                                              \n* [`ft_isdigit`](ft_isdigit.c)               - decimal-digit character test.                                           \n* [`ft_isprint`](ft_isprint.c)               - printing character test (space character inclusive).                    \n* [`ft_tolower`](ft_tolower.c)               - upper case to lower case letter conversion.                             \n* [`ft_toupper`](ft_toupper.c)               - lower case to upper case letter conversion.                             \n\n### Functions from `\u003cstdlib.h\u003e` library\n\n* [`ft_atoi`](ft_atoi.c)\t\t- convert ASCII string to integer.\n* [`ft_calloc`](ft_calloc.c)\t- memory allocation.\n\n### Functions from `\u003cstrings.h\u003e` library\n\n* [`ft_bzero`](ft_bzero.c)\t\t- write zeroes to a byte string.\n* [`ft_memset`](ft_memset.c)\t\t- write a byte to a byte string.\n* [`ft_memchr`](ft_memchr.c)\t\t- locate byte in byte string.\n* [`ft_memcmp`](ft_memcmp.c)\t\t- compare byte string.\n* [`ft_memmove`](ft_memmove.c)\t- copy byte string.\n* [`ft_memcpy`](ft_memcpy.c)\t\t- copy memory area.\n\n### Functions from `\u003cstring.h\u003e` library\n\n* [`ft_strlen`](ft_strlen.c)\t\t\t\t- find length of string.\n* [`ft_strchr`](ft_strchr.c)\t\t\t\t- locate character in string (first occurrence).\n* [`ft_strrchr`](ft_strrchr.c)\t\t\t- locate character in string (last occurence).\n* [`ft_strnstr`](ft_strnstr.c)\t\t\t- locate a substring in a string (size-bounded).\n* [`ft_strncmp`](ft_strncmp.c) \t\t\t- compare strings (size-bounded).\n* [`ft_strdup`](ft_strdup.c)\t\t\t\t- save a copy of a string (with malloc).\n* [`ft_strlcpy`](ft_strlcpy.c)\t\t\t- size-bounded string copying.\n* [`ft_strlcat`](ft_strlcat.c)\t\t\t- size-bounded string concatenation.\n\n### Non-standard functions\n\n* [`ft_itoa`](ft_itoa.c)\t\t\t\t\t- convert integer to ASCII string.\n* [`ft_substr`](ft_substr.c)\t\t\t\t- extract substring from string.\n* [`ft_strtrim`](ft_strtrim.c)\t\t\t- trim beginning and end of string with the specified characters.\n* [`ft_strjoin`](ft_strjoin.c)\t\t\t- concatenate two strings into a new string (with malloc).\n* [`ft_split`](ft_split.c)\t\t\t\t- split string, with specified character as delimiter, into an array of strings.\n* [`ft_strmapi`](ft_strmapi.c)\t\t\t- create new string from modifying string with specified function.\n* [`ft_striteri`](ft_striteri.c)\t\t\t- \n* [`ft_putchar_fd`](ft_putchar_fd.c)\t\t- output a character to given file.\n* [`ft_putstr_fd`](ft_putstr_fd.c)\t\t- output string to given file.\n* [`ft_putendl_fd`](ft_putendl_fd.c)\t\t- output string to given file with newline.\n* [`ft_putnbr_fd`](ft_putnbr_fd.c)\t\t- output integer to given file.\n\n### Linked list functions (bonus)\n\n* [`ft_lstnew`](ft_lstnew.c)\t\t\t\t- create new list.\n* [`ft_lstsize`](ft_lstsize.c)\t\t\t- count elements of a list.\n* [`ft_lstlast`](ft_lstlast.c)\t\t\t- find last element of list.\n* [`ft_lstadd_back`](ft_lstadd_back.c)\t- add new element at end of list.\n* [`ft_lstadd_front`](ft_lstadd_front.c)\t- add new element at beginning of list.\n* [`ft_lstdelone`](ft_lstdelone.c)\t\t- delete element from list.\n* [`ft_lstclear`](ft_lstclear.c)\t\t\t- delete sequence of elements of list from a starting point.\n* [`ft_lstiter`](ft_lstiter.c)\t\t\t- apply function to content of all list's elements.\n* [`ft_lstmap`](ft_lstmap.c)\t\t\t\t- apply function to content of all list's elements into new list.\n\n\n## 🛠️ Usage\n\n### Requirements\n\nThe library is written in C language and needs the **`gcc` compiler** and some standard **C libraries** to run.\n\n### Instructions\n\n**1. Compiling the library**\n\nTo compile the library, go to its path and run:\n\nFor all mandatory functions:\n\n```shell\n$ make\n```\n\nFor bonus functions:\n\n```shell\n$ make bonus\n```\n\n**2. Cleaning all binary (.o) and executable files (.a)**\n\nTo clean all files generated while doing a make, go to the path and run:\n\n```shell\n$ make fclean\n```\n\n**3. Using it in your code**\n\nTo use the library functions in your code, simply include its header:\n\n```C\n#include \"libft.h\"\n```\n\n## 📋 Testing\n\nYou can use any of this third party testers to test the project\n\n\n* [Tripouille/libfTester](https://github.com/Tripouille/libftTester)\n* [ska42/libft-war-machine](https://github.com/ska42/libft-war-machine)\n* [alelievr/libft-unit-test](https://github.com/alelievr/libft-unit-test)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiker-gonzalez%2Flibft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiker-gonzalez%2Flibft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiker-gonzalez%2Flibft/lists"}