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:
int compare( const UtworzonaKlasaT & str ) const noexcept;
int compare( size_type _pos, size_type _len, const UtworzonaKlasaT & _str ) const;
int compare( size_type _pos, size_type _len, const UtworzonaKlasaT & _str, size_type _subpos, size_type _sublen ) const;
int compare( const TypZnaku * _s ) const;
int compare( size_type _pos, size_type _len, const TypZnaku * _s ) const;
int compare( size_type _pos, size_type _len, const TypZnaku * _s, size_type _n ) const;
};
}
Argumenty
Zwracana wartość
Informuje o relacji obiektu porównywanego i porównującego. Obiekt porównujący to ten, na którym została wywołana metoda.
Opis szczegółowy
Porównuje dwa stringi lub ich części przy pomocy
compare (domyślnie leksykograficznie).
Rzucane wyjątki
Jeżeli wyjątek zostanie rzucony, wartość obiektu nie ulegnie zmianie.
Jeżeli
_s nie wskazuje na wystarczająco dużą tablicę, to zachowanie jest niezdefiniowane.
Jeżeli
_pos jest większe od długości aktualnego obiektu lub
_subpos jest większe od długości
_str, to wtedy zostanie rzucony
out_of_range.
Przykład
#include <iostream>
#include <string>
typedef std::basic_string < char, std::char_traits < char >, std::allocator < char >> MojString;
int main()
{
MojString str1( "zielone jablko" );
MojString str2( "czerwone jablko" );
if( str1.compare( str2 ) > 0 )
std::cout << str1 << " to nie " << str2 << '\n';
if( str1.compare( 8, 6, "jablko" ) == 0 )
std::cout << "ale nadal " << str1 << " jest jablkiem\n";
if( str2.compare( str2.size() - 6, 6, "jablko" ) == 0 )
std::cout << "oraz " << str2 << " takze jest jablkiem\n";
if( str1.compare( 8, 6, str2, 9, 6 ) == 0 )
std::cout << "wiec oba sa jablkami\n";
return 0;
}
Standardowe wyjście programu:
zielone jablko to nie czerwone jablko
ale nadal zielone jablko jest jablkiem
oraz czerwone jablko takze jest jablkiem
wiec oba sa jablkami
Zagadnienia powiązane
find | Wyszukuje pierwszego wystąpienia danego łańcucha 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.