descriptionA String library for the C programming language.
homepage URLhttps://wiki.saulv.es/str
repository URLhttps://git.saulv.es/str
ownersaul@saulv.es
last changeSun, 24 Dec 2023 23:19:58 +0000 (25 00:19 +0100)
last refreshSat, 27 Apr 2024 09:26:39 +0000 (27 11:26 +0200)
content tags
add:
README
String library.

Structs
-------
String (str.h)
WString (wstr.h)

Functions
---------
String* str_empty();
String* str_init(unsigned initial_size);
String* str_from_cstr(const char *src, unsigned n);
void    str_reserve(String *str, unsigned n);

int  str_concat_cstr(String *str, const char *cat, unsigned n);
int  str_concat_str(String *str, String *cat);
int  str_push_char(String *str, char c);
int  str_remove_at(String *str, unsigned index);
int  str_remove_range(String *str, unsigned start, unsigned end);
char str_get_at(String *str, unsigned index);
int  str_set_at(String *str, unsigned index, char c);
int  str_insert(String *str, const char *insert, unsigned n, unsigned index);

char*       str_to_cstr(String *str);
char*       str_substring(String *str, unsigned start, unsigned end);
String*     str_dup(String *str);
const char* str_get_buffer(String *str);

size_t str_length(String *str);
char*  str_tok(String *str, char *tokens);
int    str_transform(String *str, char(*func)(char));

void str_shrink(String *str);
void str_clear(String *str);
void str_free(String *str);

Note:
The same functions are available for wide strings.
Replace "str" with "wstr", "String" with "WString", "cstr" with "cwstr" and "char" with "wchar_t"

Building
--------
make: build the library
make install: install the library. Default path: /usr/local, can be modified changing INSTALL_PATH (make install INSTALL_PATH=/usr)
make uninstall: uninstall the library. INSTALL_PATH must be the same as on instalation.
make doxygen: Build doxygen documentation in the ./doxygen folder.
make clean: Cleans binary files
shortlog
2023-12-24 Saúl ValdelviraMake the replace functions return the number of found... main
2023-12-09 Saúl ValdelviraRemove "sudo su -c" from install recipe
2023-10-27 Saúl ValdelviraAllow to set a custom grow factor at compile time
2023-10-08 Saúl ValdelviraBug in replace function
2023-09-25 Saúl Valdelvirastr_split function
2023-09-24 Saúl Valdelvirastr_replace function
2023-09-21 Saúl ValdelviraBug in wstr_tok
2023-09-20 Saúl Valdelvirawstr_concat_cstr function
2023-09-20 Saúl ValdelviraUpdate documentation
2023-09-11 Saúl Valdelvirastr_find_substring function
2023-09-05 Saúl ValdelviraFix wstr_tok
2023-08-29 Saúl ValdelviraRemove links in README
2023-08-26 Saúl Valdelvirainsert function
2023-08-24 Saúl Valdelvirafree_all function
2023-08-07 Saúl ValdelviraDoxygen
2023-08-03 Saúl Valdelvirastr_pop function
...
heads
4 months ago main