SYNTAX
#include "str.h"
unsigned int str_copy(char *dst, char *src);
unsigned int str_copyb(char *dst, char *src, unsigned int len);
unsigned int str_chr(char *s, int c);
unsigned int str_rchr(char *s, int c);
unsigned int str_diff(char *s, char *t);
unsigned int str_diffn(char *s, char *t, unsigned int len);
unsigned int str_equal(char *s, char *t);
unsigned int str_len(const char *s);
unsigned int str_starts(char *dst, char *src);
char *str_append(char *dst, char *s);
DESCRIPTION
str_copy copies src into dst up to the first occurance of \0 while
including it. It returns the number of bytes written. If dst is
smaller than src, str_copy fills up dst to its allocated size and
returns the number of bytes it would have be written. str_copyb copies
len bytes from src into dst.
str_chr and str_rchr searches for a single character in a string (from
left-to-right or from right-to-left) and returns the position of the
first occurrance of c or the length len of s.
str_len determines the length of a string. It returns the position of
the first occurance of \0 in s.
str_diff, str_diffn, and str_equal compare two strings. str_diff and
str_diffn returns negative, zero or positive, depending whether the
string s[0], s[1], ..., s[n]=='\0' is ASCII lexicographically smaller
than, equal to, or greater than the string t[0], t[1], ...,
t[m-1]=='\0'. If the strings are different, both functions do not read
bytes past the first difference. str_diffn considers the strings equal
if the first n characters match.
str_equal returns 1, if s and t match up to and including the first
occurance of \0 or returns 0 otherwise. It is the opposite of str_diff.
str_start compares the two strings from the begining. It returns 1 if
t is a prefix of s or 0 otherwise.
*str_append appends a single byte s to out given out is allocated with
enough space.
NOTE
For the str_copy* and *str_append commands dst has to have a
preallocated space. Otherwise the result may be unexpected.
SEE ALSO
byte(3), stralloc(3)
Man(1) output converted with
man2html