Język C++
basic_string::find_first_of
[metoda] Wyszukuje pierwsze wystąpienie znaku z danej bazy 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 find_first_of( const UtworzonaKlasaT & _str, size_type _pos = 0 ) const noexcept;
size_type find_first_of( const TypZnaku * _s, size_type _pos = 0 ) const;
size_type find_first_of( const TypZnaku * _s, size_type _pos, size_type _n ) const;
size_type find_first_of( TypZnaku _c, size_type _pos = 0 ) const noexcept;
};
}
Argumenty
Zwracana wartość
Pozycja pierwszego znalezionego znaku z bazy. Jeżeli owy znak nie został znaleziony, funkcja zwróci
npos.
Opis szczegółowy
Metoda (1) wyszukuje pierwsze wystąpienie znaku z bazy określonej innym stringiem od pozycji
_pos w aktualnym obiekcie. Wersja (2) czyni dokładnie to samo, z tą różnicą, iż baza znaków jest określona poprzez wskaźnik do tablicy. Metoda (3) jest rozszerzoną metodą (2) o możliwość podania wielkości bazy. 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( "wyszukiwanie &znakow* specjalnych!" );
MojString::size_type found = str.find_first_of( "!@#$%^&*()_+=-" );
if( found != MojString::npos )
{
std::cout << "Pierwszy znak specjalny to " << str[ found ];
std::cout << " na pozycji " << found << '\n';
}
return 0;
}
Standardowe wyjście programu:
Pierwszy znak specjalny to & na pozycji 13
Zagadnienia powiązane
find | Wyszukuje pierwszego wystąpienia danego łańcucha znaków. (metoda) |
---|
find_last_of | Wyszukuje ostatnie wystąpienie znaku z danej bazy znaków. (metoda) |
---|
find_first_not_of | Wyszukuje pierwsze wystąpienia znaku spoza 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.