Język C++
basic_string::rfind
[metoda] Wyszukuje ostatniego wystąpienia danego łańcucha znaków.Składnia
#include <string>
namespace std
{
template <
class TypZnaku,
class CechowanieZnakow = char_traits < TypZnaku >,
class Alokator = allocator < TypZnaku >
>
class basic_string
{
private:
typedef basic_string < TypZnaku, CechowanieZnakow, Alokator > UtworzonaKlasaT;
public:
size_type rfind( const UtworzonaKlasaT & _str, size_type _pos = 0 ) const noexcept;
size_type rfind( const TypZnaku * _s, size_type _pos = 0 ) const;
size_type rfind( const TypZnaku * _s, size_type _pos, size_type _n ) const;
size_type rfind( TypZnaku _c, size_type _pos = 0 ) const noexcept;
};
}
Argumenty
Zwracana wartość
Pozycja pierwszego znaku ostatniego dopasowania wzorca. Jeżeli owy wzorzec nie został znaleziony, funkcja zwróci
npos.
Opis szczegółowy
Metoda (1) wyszukuje ostatnie wystąpienie wzorca określonego innym obiektem tego samego typu do pozycji
_pos w aktualnym obiekcie. Wersja (2) czyni dokładnie to samo, z tą różnicą, iż wzorzec jest określony poprzez wskaźnik do tablicy znaków. Metoda (3) jest rozszerzoną metodą (2) o możliwość podania długości wzorca. Ostatnia wersja (4) wyszukuje pojedynczy znak w aktualnym obiekcie.
Rzucane wyjątki
Jeżeli
_s nie wskazuje na wystarczająco dużą tablicę (
_n jest za duże), to zachowanie jest niezdefiniowane.
Przykład
#include <iostream>
#include <string>
typedef std::basic_string < char, std::char_traits < char >, std::allocator < char >> MojString;
int main()
{
MojString str( "Tekst do wyszukiwan. Tekst. " );
MojString str2( "Tekst" );
MojString::size_type found = str.rfind( str2 );
if( found != MojString::npos )
std::cout << "Znaleziono ostatnie wystapienie 'Tekst' na pozycji " << found << '\n';
}
Standardowe wyjście programu:
Znaleziono ostatnie wystapienie 'Tekst' na pozycji 21
Zagadnienia powiązane
find | Wyszukuje pierwszego wystąpienia danego łańcucha znaków. (metoda) |
---|
find_last_not_of | Wyszukuje ostatnie wystąpienie znaku spoza danej bazy znaków. (metoda) |
---|
find_last_of | Wyszukuje ostatnie wystąpienie znaku z danej bazy znaków. (metoda) |
---|
replace | Zamienia część znaków na inne. (metoda) |
---|
substr | Zwraca podciąg łańcucha znaków. (metoda) |
---|
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.