public member function
<string>
std::basic_string::rfind
| string (1) | size_type rfind (const basic_string& str, size_type pos = npos) const; |
|---|---|
| c-string (2) | size_type rfind (const charT* s, size_type pos = npos) const; |
| buffer (3) | size_type rfind (const charT* s, size_type pos, size_type n) const; |
| character (4) | size_type rfind (charT c, size_type pos = npos) const; |
| string (1) | size_type rfind (const basic_string& str, size_type pos = npos) const noexcept; |
|---|---|
| c-string (2) | size_type rfind (const charT* s, size_type pos = npos) const; |
| buffer (3) | size_type rfind (const charT* s, size_type pos, size_type n) const; |
| character (4) | size_type rfind (charT c, size_type pos = npos) const noexcept; |
Find last occurrence in string
When pos is specified, the search only includes sequences of characters that begin at or before position pos, ignoring any possible match beginning after pos.
The function uses traits_type::eq to determine character equivalences.
Parameters
- str
- Another basic_string with the subject to search for.
- pos
- Position of the last character in the string to be considered as the beginning of a match.
Any value greater or equal than the string length (including basic_string::npos) means that the entire string is searched.
Note: The first character is denoted by a value of 0 (not 1).
- s
- Pointer to an array of characters.
If argument n is specified (3), the sequence to match are the first n characters in the array.
Otherwise (2), a null-terminated sequence is expected: the length of the sequence to match is determined by the first occurrence of a null character.
- n
- Length of sequence of characters to match.
- c
- Individual character to be searched for.
charT is basic_string's character type (i.e., its first template parameter).
Member type size_type is an unsigned integral type.
Return Value
The position of the first character of the last match.If no matches were found, the function returns basic_string::npos.
Member type
size_type is an unsigned integral type.Example
|
|
The sixth sick sheik's seventh sheep's sick.
Complexity
Unspecified, but generally up to linear in the string length (or pos) times the number of characters to match (worst case).Iterator validity
No changes.Data races
The object is accessed.Exception safety
If s does not point to an array long enough, it causes undefined behavior.Otherwise, the function never throws exceptions (no-throw guarantee).
See also
- basic_string::find
- Find first occurrence in string (public member function)
- basic_string::find_last_of
- Find character in string from the end (public member function)
- basic_string::find_last_not_of
- Find non-matching character in string from the end (public member function)
- basic_string::replace
- Replace portion of string (public member function)
- basic_string::substr
- Generate substring (public member function)