Data Structures | |
struct | str |
The basic string structure. More... | |
struct | str_sortentry |
This struct is used to serve in lists of pointers into a string for sorting. More... | |
Overhead Functions | |
#define | str_ready(S, SZ) str_alloc(S,SZ,0) |
#define | str_realloc(S, SZ) str_alloc(S,SZ,1) |
int | str_init (str *s) |
int | str_alloc (str *s, unsigned size, int copy) |
void | str_free (str *s) |
int | str_truncate (str *s, unsigned len) |
In-place Modification Functions | |
#define | str_strip(S) (str_rstrip(S), str_lstrip(S)) |
void | str_lower (str *s) |
void | str_upper (str *s) |
long | str_subst (str *s, char from, char to) |
void | str_lstrip (str *s) |
void | str_rstrip (str *s) |
void | str_lcut (str *s, unsigned count) |
void | str_rcut (str *s, unsigned count) |
int | str_sort (str *s, char sep, long count, int(*fn)(const str_sortentry *a, const str_sortentry *b)) |
int | str_splice (str *s, unsigned start, unsigned len, const str *r) |
int | str_splices (str *s, unsigned start, unsigned len, const char *r) |
int | str_spliceb (str *s, unsigned start, unsigned len, const char *r, unsigned rlen) |
long | str_xlate (str *s, const char *from, const char *to, unsigned nchars) |
Searching Functions | |
#define | str_findfirst(S, C) str_findnext(S,C,0) |
#define | str_findfirstof(S, L) str_findnextof(S,L,0) |
#define | str_findfirstnot(S, L) str_findnextnot(S,L,0) |
#define | str_findlast(S, C) str_findprev(S,C,-1) |
#define | str_findlastof(S, L) str_findprevof(S,L,-1) |
#define | str_findlastnot(S, L) str_findprevof(S,L,-1) |
void | str_buildmap (int map[256], const char *list) |
unsigned | str_count (const str *s, char ch) |
unsigned | str_countof (const str *s, const char *list) |
int | str_findnext (const str *s, char ch, unsigned pos) |
int | str_findnextof (const str *s, const char *list, unsigned pos) |
int | str_findnextnot (const str *s, const char *list, unsigned pos) |
int | str_findprev (const str *s, char ch, unsigned pos) |
int | str_findprevof (const str *s, const char *list, unsigned pos) |
int | str_findprevnot (const str *s, const char *list, unsigned pos) |
Assignment Functions | |
int | str_copy (str *s, const str *in) |
int | str_copys (str *s, const char *in) |
int | str_copyb (str *s, const char *in, unsigned len) |
int | str_copyns (str *s, unsigned int count,...) |
int | str_copy2s (str *s, const char *a, const char *b) |
int | str_copy3s (str *s, const char *a, const char *b, const char *c) |
int | str_copy4s (str *s, const char *a, const char *b, const char *c, const char *d) |
int | str_copy5s (str *s, const char *a, const char *b, const char *c, const char *d, const char *e) |
int | str_copy6s (str *s, const char *a, const char *b, const char *c, const char *d, const char *e, const char *f) |
Appending Functions | |
int | str_cat (str *s, const str *in) |
int | str_cats (str *s, const char *in) |
int | str_catc (str *s, char in) |
int | str_catb (str *s, const char *in, unsigned len) |
int | str_cati (str *s, long in) |
int | str_catiw (str *s, long in, unsigned width, char pad) |
int | str_catu (str *s, unsigned long in) |
int | str_catuw (str *s, unsigned long in, unsigned width, char pad) |
int | str_catx (str *s, unsigned long in) |
int | str_catxw (str *s, unsigned long in, unsigned width, char pad) |
int | str_catill (str *s, long long in) |
int | str_catiwll (str *s, long long in, unsigned width, char pad) |
int | str_catull (str *s, unsigned long long in) |
int | str_catuwll (str *s, unsigned long long in, unsigned width, char pad) |
int | str_catxll (str *s, unsigned long long in) |
int | str_catxwll (str *s, unsigned long long in, unsigned width, char pad) |
int | str_catsnumw (str *s, long in, unsigned width, char pad, unsigned base, const char *digits) |
int | str_catunumw (str *s, unsigned long in, unsigned width, char pad, unsigned base, const char *digits) |
int | str_catsllnumw (str *s, long long in, unsigned width, char pad, unsigned base, const char *digits) |
int | str_catullnumw (str *s, unsigned long long in, unsigned width, char pad, unsigned base, const char *digits) |
int | str_catns (str *s, unsigned int count,...) |
int | str_cat2s (str *s, const char *a, const char *b) |
int | str_cat3s (str *s, const char *a, const char *b, const char *c) |
int | str_cat4s (str *s, const char *a, const char *b, const char *c, const char *d) |
int | str_cat5s (str *s, const char *a, const char *b, const char *c, const char *d, const char *e) |
int | str_cat6s (str *s, const char *a, const char *b, const char *c, const char *d, const char *e, const char *f) |
int | str_join (str *s, char sep, const str *t) |
int | str_joins (str *s, char sep, const char *in) |
int | str_joinb (str *s, char sep, const char *in, unsigned len) |
Comparison Functions | |
int | str_cmp (const str *a, unsigned aoffset, const str *b, unsigned boffset) |
int | str_cmps (const str *a, unsigned offset, const char *b) |
int | str_cmpb (const str *a, unsigned offset, const char *b, unsigned len) |
int | str_diff (const str *a, const str *b) |
int | str_diffs (const str *a, const char *b) |
int | str_diffb (const str *a, const char *b, unsigned len) |
int | str_start (const str *a, const str *b) |
int | str_starts (const str *a, const char *b) |
int | str_startb (const str *a, const char *b, unsigned len) |
int | str_case_start (const str *a, const str *b) |
int | str_case_starts (const str *a, const char *b) |
int | str_case_startb (const str *a, const char *b, unsigned len) |
Pattern Matching Functions | |
int | str_match (const str *s, const str *pattern) |
int | str_matchb (const str *s, const char *pptr, unsigned plen) |
int | str_matchs (const str *s, const char *pattern) |
int | str_case_match (const str *s, const str *pattern) |
int | str_case_matchb (const str *s, const char *pptr, unsigned plen) |
int | str_case_matchs (const str *s, const char *pattern) |
int | str_glob (const str *s, const str *pattern) |
int | str_globb (const str *s, const char *pptr, unsigned plen) |
int | str_globs (const str *s, const char *pattern) |
int | str_case_glob (const str *s, const str *pattern) |
int | str_case_globb (const str *s, const char *pptr, unsigned plen) |
int | str_case_globs (const str *s, const char *pattern) |
Globals | |
const char | str_lcase_digits [36] |
const char | str_ucase_digits [36] |
Defines | |
#define | STR_BLOCKSIZE 16 |
Typedefs | |
typedef str | str |
typedef str_sortentry | str_sortentry |
Variables | |
const char | str_lcase_digits [36] = "0123456789abcdefghijklmnopqrstuvwxyz" |
const char | str_ucase_digits [36] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" |
str
functions is to pass the string being examined or modified as the first argument. For most functions, the return value will be 0
(false) if an error occurred (ie memory allocation failed) and non-zero (true) otherwise.
|
The block size in which string memory is allocated.
|
|
Make sure string S has at least SZ bytes ready (no copy).
|
|
Reallocate string S to size SZ bytes, copying the existing string.
|
|
Allocate storage for a string.
NUL byte (to ensure compatibility with C string functions) and is then rounded up to the nearest STR_BLOCKSIZE interval. |
|
Build a map from the list of characters.
Each byte in the output map contains either |
|
Simple pattern match on dynamic string pattern.
|
|
Simple but fast (linear time) pattern matching on binary pattern.
|
|
Simple pattern match on C string pattern.
|
|
Match the prefix of the string to another string.
|
|
Match the prefix of the string to a binary chunk.
|
|
Match the prefix of the string to a C string.
|
|
Append another string.
|
|
Append 2 C strings.
|
|
Append 3 C strings.
|
|
Append 4 C strings.
|
|
Append 5 C strings.
|
|
Append 6 C strings.
|
|
Append a binary block.
|
|
Append a single character.
|
|
Append a signed integer in decimal.
|
|
Append a signed long long integer in decimal.
|
|
Append a signed integer in decimal, padded to a minimum width.
|
|
Append a signed long long integer in decimal, padded to a minimum width.
|
|
Append N C strings.
|
|
Append a C string.
|
|
Append a signed long long integer, optionally padded to a minimum width.
|
|
Append a signed integer, optionally padded to a minimum width.
|
|
Append an unsigned integer in decimal, padded to a minimum width.
|
|
Append an unsigned long long integer in decimal.
|
|
Append an unsigned long long integer, optionally padded to a minimum width.
|
|
Append an unsigned integer, optionally padded to a minimum width.
|
|
Append an unsigned integer in decimal.
|
|
Append an unsigned long long integer in decimal, padded to a minimum width.
|
|
Append an unsigned integer in hexadecimal, padded to a minimum width.
|
|
Append an unsigned long long integer in hexadecimal.
|
|
Append an unsigned integer in hexadecimal.
|
|
Append an unsigned long long integer in hexadecimal, padded to a minimum width.
|
|
Compare part of two strings.
This function compares two strings, starting at |
|
Compare a string against a binary block.
|
|
Compare a string against a C string.
|
|
Copy in a string.
|
|
Copy in the concatenation of 2 C strings.
|
|
Copy in the concatenation of 3 C strings.
|
|
Copy in the concatenation of 4 C strings.
|
|
Copy in the concatenation of 5 C strings.
|
|
Copy in the concatenation of 6 C strings.
|
|
Copy in a binary block.
|
|
Copy in the concatenation of N C strings.
|
|
Copy in a C string.
|
|
Count the number of instances of a character.
|
|
Count the number of instances of a list of characters.
|
|
Differentiate two strings.
The first non-zero difference between |
|
Differentiate a string and a binary block.
|
|
Differentiate a string and a C string.
|
|
Find the next instance of the given character, on or after
|
|
Find the next instance of a character not in the given list of characters, on or after
|
|
Find the next instance of the given list of characters, on or after
|
|
Find the previous instance of the given character on or before
|
|
Find the previous instance of a character not in the given list of characters, on or before
|
|
Find the previous instance of the given list of characters, on or before
|
|
Free a string's storage. This function also sets all the members of the structure to zero. |
|
Initialize a string, giving it a small empty allocation.
|
|
Join two strings together with exactly one instance of the seperator.
|
|
Join a binary block to this string.
|
|
Join a C string to this string.
|
|
Cut
|
|
Translate all upper-case characters to lower-case.
|
|
Strip all white space from the left (front) of the string.
|
|
Simple pattern match on dynamic string pattern.
|
|
Simple but fast (linear time) pattern matching on binary pattern.
|
|
Simple pattern match on C string pattern.
|
|
Cut
|
|
Strip all white space from the right (end) of the string.
|
|
Sort a string.
|
|
Match the prefix of the string to another string.
|
|
Match the prefix of the string to a binary chunk.
|
|
Match the prefix of the string to a C string.
|
|
Substitute one character for another throughout the string.
|
|
Truncate a string.
If |
|
Translate all lower-case characters to upper-case.
|
|
Substitute one character for another throughout the string.
|
|
Lower-case digits, also used for decimal numbers.
|
|
Lower-case digits, also used for decimal numbers.
|
|
Upper-case digits.
|
|
Upper-case digits.
|