{"id":20063780,"url":"https://github.com/hiperiondev/stringslib","last_synced_at":"2026-06-08T12:31:48.616Z","repository":{"id":78059654,"uuid":"601376359","full_name":"hiperiondev/stringslib","owner":"hiperiondev","description":"Memory safe library for manage strings","archived":false,"fork":false,"pushed_at":"2023-06-26T21:11:00.000Z","size":1655,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T10:32:00.345Z","etag":null,"topics":["library","string"],"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/hiperiondev.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":"2023-02-13T23:45:04.000Z","updated_at":"2023-02-14T12:56:21.000Z","dependencies_parsed_at":"2024-11-13T13:44:30.631Z","dependency_job_id":"64265d07-5fc0-4787-9fd1-04b7255d5317","html_url":"https://github.com/hiperiondev/stringslib","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hiperiondev/stringslib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiperiondev%2Fstringslib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiperiondev%2Fstringslib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiperiondev%2Fstringslib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiperiondev%2Fstringslib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hiperiondev","download_url":"https://codeload.github.com/hiperiondev/stringslib/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiperiondev%2Fstringslib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34063149,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"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":["library","string"],"created_at":"2024-11-13T13:43:47.427Z","updated_at":"2026-06-08T12:31:48.600Z","avatar_url":"https://github.com/hiperiondev.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# stringslib\n## Memory safe library for manage strings \n\n### NOTE\nFor convenience, for all functions that return a String, a macro (func_m) is defined that moves the return over the input string. See strings.h\n\n-------------------------------\n\n# Strings Core Functions\n\n## Functions\n\n|                | Name                                                                         |\n| -------------- | ---------------------------------------------------------------------------- |\n| String         | **string_new**(const size_t cap)\u003cbr\u003eAllocate a new Buffer of capacity `cap`. |\n| String         | **string_new_c**(const char *str)\u003cbr\u003eAllocate a new Buffer and copy string.  |\n| String         | **string_dup**(const String buf)\u003cbr\u003eDuplicate string.                        |\n| bool           | **string_resize**(String *pbuf, const size_t newcap)\u003cbr\u003eResize capacity.     |\n| const char*    | **string_data**(const String buf)\u003cbr\u003eReturn Data of Buffered string.         |\n| void           | **string_reset**(String buf)\u003cbr\u003eReset Buffered string content.               |\n\n-------------------------------\n\n# Strings Manipulation Functions\n\n## Functions\n\n|                | Name                                                                                                                     |\n| -------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| String         | **string_left**(const String buf, uint32_t pos)\u003cbr\u003eSubstring left from position.                                         |\n| String         | **string_right**(const String buf, uint32_t pos)\u003cbr\u003eSubstring right from position.                                       |\n| String         | **string_mid**(const String buf, uint32_t left, uint32_t right)\u003cbr\u003eSubstring left from position left to position right.  |\n| String         | **string_concat**(const String str1, const String str2)\u003cbr\u003eConcatenation of strings.                                     |\n| String         | **string_insert**(const String buf, const String str, uint32_t pos)\u003cbr\u003eInsert string on position.                        |\n| String         | **string_delete**(const String buf, uint32_t pos1, uint32_t pos2)\u003cbr\u003eDelete substring from pos1 to pos2.                 |\n| String         | **string_delete_prefix**(const String buf, const String pfx)\u003cbr\u003eDelete prefix                                            |\n| String         | **string_delete_prefix_c**(const String buf, const char *pfx)\u003cbr\u003eDelete prefix from string                               |\n| String         | **string_delete_postfix**(const String buf, const String pfx)\u003cbr\u003eDelete postfix                                          |\n| String         | **string_delete_postfix_c**(const String buf, const char *pfx)\u003cbr\u003eDelete postfix from string                             |\n| String         | **string_replace**(const String buf, const String search, String replace, uint32_t pos)\u003cbr\u003eReplace string.               |\n| uint32_t       | **string_find**(const String buf, const String search, uint32_t pos)\u003cbr\u003eFind substring starting at position.             |\n| uint32_t       | **string_find_c**(const String buf, char c, uint32_t pos)\u003cbr\u003eFind character starting at position.                        |\n| String         | **string_toupper**(const String buf)\u003cbr\u003eTo upper string.                                                                 |\n| String         | **string_tolower**(const String buf)\u003cbr\u003eTo lower string.                                                                 |\n| String         | **string_ltrim**(const String buf)\u003cbr\u003eLeft trim string                                                                   |\n| String         | **string_rtrim**(const String buf)\u003cbr\u003eRight trim string                                                                  |\n| String         | **string_trim**(const String buf)\u003cbr\u003eTrim string.                                                                        |\n| String         | **string_split**(const String buf, const char *search, String *right)\u003cbr\u003eSplit string and return left and right Strings  |\n| uint32_t       | **string_split_array**(const String buf, const char *search, String **array)\u003cbr\u003eSplit string in an array of strings      |\n| uint32_t       | **string_append**(String buf, const char *fmt, ... )\u003cbr\u003eAppend a formatted c-string to `buf`.\u003cbr\u003eIf new data would exceed capacity, `buf` stays unmodified.  |\n| uint32_t       | **string_write**(String buf, const char *fmt, ... )\u003cbr\u003eWrite a formatted c-string at beginning of `buf`.\u003cbr\u003eIf new data would exceed capacity, `buf` stays unmodified.  |\n| bool           | **string_equals**(const String str1, const String str2)\u003cbr\u003eCompares two strings.                                         |\n| bool           | **string_equals_c**(const String a, const char *b)\u003cbr\u003eCompare strings equality.                                          |\n| bool           | **string_issigned**(const String buf)\u003cbr\u003eCheck if string is signed.                                                      |\n| bool           | **string_isinteger**(const String buf)\u003cbr\u003eCheck if string is a valid integer.                                            |\n| bool           | **string_isfloat**(const String buf)\u003cbr\u003eCheck if string is a valid float.                                                |\n| bool           | **string_isblank**(const String buf)\u003cbr\u003eCheck if string is a blank line                                                  |\n| bool           | **string_isalnum**(const String buf, uint32_t pos, bool underscore_dot)\u003cbr\u003eCheck if string only contain letters and numbers  |\n| uint8_t        | **string_isrealexp**(const String buf)\u003cbr\u003eCheck if string is a valid scientific notation.                                |\n| long           | **string_tolong**(const String buf, uint8_t base)\u003cbr\u003eConvert string to integer. Max value: LONG_MAX_MAX - 1.             |\n| double         | **string_todouble**(const String buf)\u003cbr\u003eConvert string to float. Max value: DBL_MAX - 1.                                |\n| string_hash_t  | **string_hash**(const String buf, uint8_t version, uint8_t key[16])\u003cbr\u003eString hash.                                      |\n\n-------------------------------\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiperiondev%2Fstringslib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhiperiondev%2Fstringslib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiperiondev%2Fstringslib/lists"}