The string class provides six search functions, each named as a variant of find . The operations all return a string::size_type value that is the index of where the match occurred, or a special value named string::npos if there is no match. The string class defines npos as a value that is guaranteed to be greater than any valid index.
There are four versions of each of the search operations, each of which takes a different set of arguments . The arguments to the search operations are listed below. Basically, these operations differ as to whether they are looking for a single character , another string , a C-style null-terminated string , or a given number of characters from a character array .
string Search Operations | |
s.find(args) | Find first occurrence of args in s. |
s.rfind(args) | Find last occurrence of args in s. |
s.find_first_of(args) | Find first occurrence of any character from args in s. |
s.find_last_of(args) | Find last occurrence of any character from args in s. |
s.find_first_not_of(args) | Find first character in s that is not in args. |
s.find_last_not_of(args) | Find last character in s that is not in args. |
Arguments to string find Operations | |
c, pos | Look for the character c starting at position pos in s.pos defaults to 0 . |
s2, pos | Look for the string s2 starting at position pos in s.pos default to 0 . |
cp, pos | Look for the C-style null-terminated string pointed to by the pointer cp. Start looking starting at position pos in s.pos defaults to 0 . |
cp, pos, n | Look for the first n characters in the array pointed to by the pointer cp. Start looking starting at position pos in s. No default for pos or n. |