{"id":20055034,"url":"https://github.com/fyang42/42sg-libft","last_synced_at":"2025-07-24T10:39:47.724Z","repository":{"id":251124047,"uuid":"836419755","full_name":"fyang42/42SG-libft","owner":"fyang42","description":"A custom library of general purpose C functions that will be called on in future projects in the C programming language.","archived":false,"fork":false,"pushed_at":"2024-07-31T23:39:03.000Z","size":39,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T09:27:15.459Z","etag":null,"topics":["42-school","42cursus","42projects","42school","42singapore","libft"],"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/fyang42.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-07-31T20:08:18.000Z","updated_at":"2024-08-09T08:48:51.000Z","dependencies_parsed_at":"2024-08-09T12:24:52.695Z","dependency_job_id":null,"html_url":"https://github.com/fyang42/42SG-libft","commit_stats":null,"previous_names":["fyang-git/42sg-libft","fyang42/42sg-libft"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fyang42/42SG-libft","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyang42%2F42SG-libft","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyang42%2F42SG-libft/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyang42%2F42SG-libft/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyang42%2F42SG-libft/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fyang42","download_url":"https://codeload.github.com/fyang42/42SG-libft/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fyang42%2F42SG-libft/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266829038,"owners_count":23991222,"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","status":"online","status_checked_at":"2025-07-24T02:00:09.469Z","response_time":99,"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":["42-school","42cursus","42projects","42school","42singapore","libft"],"created_at":"2024-11-13T12:45:30.099Z","updated_at":"2025-07-24T10:39:47.697Z","avatar_url":"https://github.com/fyang42.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"### Program Name: libft.a\n\nThis custom C library includes the following components:\n\n* A Makefile to compile the library.  \n* A header file libft.h, containing the prototypes for all functions and necessary includes.  \n* A total of 43 custom C functions that do not call on external functions from C libraries except for write() and memory manipulation with malloc() and free().  \n\t- 32 custom implementations of Libc C functions that have the same prototypes and behaviours as standard C library functions, but with the prefix ft_.  \n\t- 11 additional functions are additional utilities not found in the standard C library or variations thereof.\n\n#### 32 Libc Functions\n##### Character Classification and Conversion Functions\n\n\t\tft_isalpha: Checks if a character is an alphabetic letter.  \n\t\tft_isdigit: Checks if a character is a decimal digit.  \n\t\tft_isalnum: Checks if a character is alphanumeric (letter or digit).  \n\t\tft_isascii: Checks if a character is an ASCII character.  \n\t\tft_isprint: Checks if a character is printable, including space.  \n\n  ##### String and Memory Functions\n    \tft_strlen: Computes the length of a string.\n    \tft_memset: Fills a block of memory with a specified value.\n    \tft_bzero: Sets a block of memory to zero.\n    \tft_memcpy: Copies a block of memory from one location to another.\n    \tft_memmove: Moves a block of memory, handling overlap.\n    \tft_strlcpy: Copies a string to a destination buffer, ensuring null-termination.\n    \tft_strlcat: Concatenates a string to a destination buffer, ensuring null-termination.\n\n  ##### Character Conversion Functions\n    \tft_toupper: Converts a character to uppercase.\n    \tft_tolower: Converts a character to lowercase.\n\n  ##### String Search and Comparison Functions\n\t\tft_strchr: Locates the first occurrence of a character in a string.  \n\t\tft_strrchr: Locates the last occurrence of a character in a string.  \n\t\tft_strncmp: Compares two strings up to a specified number of characters.  \n\n ##### Memory Search and Comparison Functions\n\t\tft_memchr: Locates the first occurrence of a byte in a block of memory.  \n\t\tft_memcmp: Compares two blocks of memory.  \n\n ##### String Substring and Conversion Functions\n    \tft_strnstr: Locates a substring in a string, where not more than a specified number of characters are searched.\n    \tft_atoi: Converts a string to an integer.\n\n ##### Memory Allocation Functions (using malloc)\n\t\tft_calloc: Allocates memory for an array of elements and initializes it to zero.\n\t\tft_strdup: Duplicates a string, allocating memory for the new string.\n\n #### Additional Functions (11 Functions)\n    \tft_substr: Extracts a substring from a string.  \n    \tft_strjoin: Concatenates two strings into a new string.  \n    \tft_strtrim: Trims leading and trailing characters from a string.  \n    \tft_split: Splits a string into an array of strings based on a delimiter.  \n    \tft_itoa: Converts an integer to a string.  \n    \tft_strmapi: Applies a function to each character of a string, creating a new string.  \n    \tft_striteri: Applies a function to each character of a string, modifying the string in place.  \n    \tft_putchar_fd: Outputs a character to a file descriptor.  \n    \tft_putstr_fd: Outputs a string to a file descriptor.  \n    \tft_putendl_fd: Outputs a string to a file descriptor followed by a newline.  \n    \tft_putnbr_fd: Outputs an integer to a file descriptor.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffyang42%2F42sg-libft","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffyang42%2F42sg-libft","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffyang42%2F42sg-libft/lists"}