SS8_FIND(3) Ssstr Manual SS8_FIND(3)
NAME
ss8_find, ss8_find_cstr, ss8_find_bytes, ss8_find_ch, ss8_find_not_ch,
ss8_rfind, ss8_rfind_cstr, ss8_rfind_bytes, ss8_rfind_ch,
ss8_rfind_not_ch - find a string or character in an ssstr byte string
SYNOPSIS
#include <ss8str.h>
size_t ss8_find(ss8str const *haystack, size_t start,
ss8str const *needle);
size_t ss8_find_cstr(ss8str const *haystack, size_t start,
char const *needle);
size_t ss8_find_bytes(ss8str const *haystack, size_t start,
char const *needle, size_t needlelen);
size_t ss8_find_ch(ss8str const *haystack, size_t start,
char needle);
size_t ss8_find_not_ch(ss8str const *haystack, size_t start,
char needle);
size_t ss8_rfind(ss8str const *haystack, size_t start,
ss8str const *needle);
size_t ss8_rfind_cstr(ss8str const *haystack, size_t start,
char const *needle);
size_t ss8_rfind_bytes(ss8str const *haystack, size_t start,
char const *needle, size_t needlelen);
size_t ss8_rfind_ch(ss8str const *haystack, size_t start,
char needle);
size_t ss8_rfind_not_ch(ss8str const *haystack, size_t start,
char needle);
DESCRIPTION
ss8_find() finds the first occurrence of the substring equal to the
ss8str at needle in the ss8str at haystack. Only matches that begin at
or after the byte position start are considered. Behavior is undefined
unless haystack and needle both point to valid ss8str objects and start
is less than or equal to the length of the haystack string.
ss8_find_cstr() is like ss8_find() but finds the first occurrence of
the null-terminated byte string needle. Behavior is undefined unless
haystack points to a valid ss8str object, start is less than or equal
to the length of the haystack string, and needle is a null-terminated
byte string.
ss8_find_bytes() is like ss8_find() but finds the first occurrence of
the byte string of length needlelen located at needle. Behavior is un‐
defined unless haystack points to a valid ss8str object, start is less
than or equal to the length of the haystack string, and needle is not
NULL and points to an array of at least needlelen bytes.
ss8_find_ch() is like ss8_find() but finds the first occurrence of the
byte needle. Behavior is undefined unless haystack points to a valid
ss8str object and start is less than or equal to the length of the
haystack string.
ss8_find_not_ch() is like ss8_find_ch() except that it finds the first
occurrence of a byte that is not equal to needle.
ss8_rfind(), ss8_rfind_cstr(), ss8_rfind_bytes(), ss8_rfind_ch(), and
ss8_rfind_not_ch() are like the corresponding functions without the r
in the name, except that they find the last, rather than first, occur‐
rence of needle. Only matches that begin at or before the byte posi‐
tion start are considered.
RETURN VALUE
All 10 functions return the position, counting from the beginning of
the haystack string, of the first byte of the match. If there is no
match, SIZE_MAX is returned.
If needle is the empty string, start is returned.
SEE ALSO
ss8_contains(3), ss8_equals(3), ss8_find_first_of(3), ssstr(7)
SSSTR 2023-12-30 SS8_FIND(3)