{"id":19692906,"url":"https://github.com/pasqualerossi/libft","last_synced_at":"2025-04-29T09:31:32.900Z","repository":{"id":55109252,"uuid":"406596823","full_name":"pasqualerossi/Libft","owner":"pasqualerossi","description":"First 42 School Project. Creating your own library. ","archived":false,"fork":false,"pushed_at":"2024-06-01T05:01:52.000Z","size":1563,"stargazers_count":52,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"libft","last_synced_at":"2024-06-01T06:22:56.922Z","etag":null,"topics":["42-libft","42libft","libft","libft-1337","libft-42","libft42"],"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/pasqualerossi.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},"funding":{"github":["pasqualerossi"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2021-09-15T03:10:38.000Z","updated_at":"2024-06-01T06:22:59.441Z","dependencies_parsed_at":"2024-06-01T06:22:58.651Z","dependency_job_id":"09d115d8-5761-43d3-a33b-446d4ac4eaae","html_url":"https://github.com/pasqualerossi/Libft","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pasqualerossi%2FLibft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pasqualerossi%2FLibft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pasqualerossi%2FLibft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pasqualerossi%2FLibft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pasqualerossi","download_url":"https://codeload.github.com/pasqualerossi/Libft/tar.gz/refs/heads/libft","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224160272,"owners_count":17265942,"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":["42-libft","42libft","libft","libft-1337","libft-42","libft42"],"created_at":"2024-11-11T19:14:41.548Z","updated_at":"2024-11-11T19:14:42.095Z","avatar_url":"https://github.com/pasqualerossi.png","language":"C","funding_links":["https://github.com/sponsors/pasqualerossi"],"categories":[],"sub_categories":[],"readme":"# Libft Introduction\n\nLibft (Library of Functions)\n\nIn this project, you will be creating a library of functions, the file structure for this project is the following:\n\n### .c Files \nWhere all of your functions will be written in. \n\n### .h (Header)\nYour header file is useful for 2 things:\n- First, instead of doing for example `#include \u003cunistd.h\u003e` in all of your .c files, you just write it once in your header and all of your .c files will read it from your header file. \n- Secondly, let's say one of your .c files uses another function from another .c file, well instead of writting that function above, just write `#include \"libft.h\"` and it will find it in your header file. \n\nMake sure you add `#include \"libft.h\"` in all of your .c files.\n\n### Makefile \nMakefile is where you will create a file to compile your projects. Remember how in the piscine, you created an **int main** and **gcc** to compile the projects, well with a Makefile, you don't have to do that anymore, you just type `make` once you have created your Makefile. \n\n# Great Resource for Libft\n\nhttps://www.asidesigned.com/project-libft.html \n\n# Libft Functions\n\n### Functions from `\u003cctype.h\u003e`\n\n- [`ft_isalpha`](ft_isalpha.c)\t- checks  for  an  alphabetic  character.\n- [`ft_isdigit`](ft_isdigit.c)\t- checks for a digit (0 through 9).\n- [`ft_isalnum`](ft_isalnum.c)\t- checks for an alphanumeric character.\n- [`ft_isascii`](ft_isascii.c)\t- checks whether c fits into the ASCII character set.\n- [`ft_isprint`](ft_isprint.c)\t- checks for any printable character.\n- [`ft_toupper`](ft_toupper.c)\t- convert char to uppercase.\n- [`ft_tolower`](ft_tolower.c)\t- convert char to lowercase.\n\n### Functions from `\u003cstring.h\u003e`\n\n- [`ft_memset`](ft_memset.c)\t- fill memory with a constant byte.\n- [`ft_strlen`](ft_strlen.c)\t- calculate the length of a string.\n- [`ft_bzero`](ft_bzero.c)\t- zero a byte string.\n- [`ft_memcpy`](ft_memcpy.c)\t- copy memory area.\n- [`ft_memmove`](ft_memmove.c)\t- copy memory area.\n- [`ft_strlcpy`](ft_strlcpy.c)\t- copy string to an specific size.\n- [`ft_strlcat`](ft_strlcat.c)\t- concatenate string to an specific size.\n- [`ft_strchr`](ft_strchr.c)\t- locate character in string.\n- [`ft_strrchr`](ft_strrchr.c)\t- locate character in string.\n- [`ft_strncmp`](ft_strncmp.c)\t- compare two strings.\n- [`ft_memchr`](ft_memchr.c)\t- scan memory for a character.\n- [`ft_memcmp`](ft_memcmp.c)\t- compare memory areas.\n- [`ft_strnstr`](ft_strnstr.c)\t- locate a substring in a string.\n- [`ft_strdup`](ft_strdup.c)\t- creates a dupplicate for the string passed as parameter.\n\n### Functions from `\u003cstdlib.h\u003e`\n- [`ft_atoi`](ft_atoi.c)\t- convert a string to an integer.\n- [`ft_calloc`](ft_calloc.c)\t- allocates memory and sets its bytes' values to 0.\n\n### Non-standard functions\n- [`ft_substr`](ft_substr.c)\t- returns a substring from a string.\n- [`ft_strjoin`](ft_strjoin.c)\t- concatenates two strings.\n- [`ft_strtrim`](ft_strtrim.c)\t- trims the beginning and end of string with specific set of chars.\n- [`ft_split`](ft_split.c)\t- splits a string using a char as parameter.\n- [`ft_itoa`](ft_itoa.c)\t- converts a number into a string.\n- [`ft_strmapi`](ft_strmapi.c)\t- applies a function to each character of a string.\n- [`ft_striteri`](ft_striteri.c)\t- applies a function to each character of a string.\n- [`ft_putchar_fd`](ft_putchar_fd.c)\t- output a char to a file descriptor.\n- [`ft_putstr_fd`](ft_putstr_fd.c)\t- output a string to a file descriptor.\n- [`ft_putendl_fd`](ft_putendl_fd.c)\t- output a string to a file descriptor, followed by a new line.\n- [`ft_putnbr_fd`](ft_putnbr_fd.c)\t- output a number to a file descriptor.\n\n### Linked list functions\n\n- [`ft_lstnew`](ft_lstnew.c)\t- creates a new list element.\n- [`ft_lstadd_front`](ft_lstadd_front.c)\t- adds an element at the beginning of a list.\n- [`ft_lstsize`](ft_lstsize.c)\t- counts the number of elements in a list.\n- [`ft_lstlast`](ft_lstlast.c)\t- returns the last element of the list.\n- [`ft_lstadd_back`](ft_lstadd_back.c)\t- adds an element at the end of a list.\n- [`ft_lstclear`](ft_lstclear.c)\t- deletes and free list.\n- [`ft_lstiter`](ft_lstiter.c)\t- applies a function to each element of a list.\n- [`ft_lstmap`](ft_lstmap.c)\t- applies a function to each element of a list.\n\n![image](https://user-images.githubusercontent.com/58959408/150704272-0d7b454d-2872-4695-aade-e5bc9c3b79aa.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpasqualerossi%2Flibft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpasqualerossi%2Flibft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpasqualerossi%2Flibft/lists"}