vergleichen() ist eine öffentliche Memberfunktion der String-Klasse. Es vergleicht den Wert des String-Objekts (oder eines Teilstrings) mit der durch seine Argumente angegebenen Zeichenfolge.
Die Funktion „compare()“ kann mehr als ein Argument für jeden String verarbeiten, sodass man einen Teilstring anhand seines Index und seiner Länge angeben kann.
Rückgabetyp: vergleichen() gibt einen ganzzahligen Wert statt eines booleschen Werts zurück.
Verschiedene Syntaxen für string::compare() :
- Syntax 1: Vergleicht die Zeichenfolge *this mit der Zeichenfolge str.
int string::compare (const string& str) const Returns: 0 : if both strings are equal. A value <0 : if *this is shorter than str or, first character that doesn't match is smaller than str. A value>0: Wenn *this länger als str ist oder das erste Zeichen, das nicht übereinstimmt, größer ist>
CPP
// CPP code for demonstrating> // string::compare (const string& str) const> #include> using> namespace> std;> void> compareOperation(string s1, string s2)> {> >// returns a value <0 (s1 is smaller than s2)> >if>((s1.compare(s2)) <0)> >cout << s1 << ' is smaller than ' << s2 << endl;> >// returns 0(s1, is being compared to itself)> >if>((s1.compare(s1)) == 0)> >cout << s1 << ' is equal to ' << s1 << endl;> >else> >cout << 'Strings didn't match ';> > }> // Driver Code> int> main()> {> >string s1('Geeks');> >string s2('forGeeks');> >compareOperation(s1, s2);> > >return> 0;> }> |
>
>
Ausgabe:
Geeks is smaller than forGeeks Geeks is equal to Geeks>
- Syntax 2: Vergleicht höchstens len Zeichen der Zeichenfolge *this, beginnend mit Index idx, mit der Zeichenfolge str.
int string::compare (size_type idx, size_type len, const string& str) const Throws out_of_range if index>size().>
CPP
Sortieren in einer Liste in Java
// CPP code to demonstrate> // int string::compare (size_type idx, size_type len,> // const string& str) const> #include> using> namespace> std;> void> compareOperation(string s1, string s2)> {> >// Compares 5 characters from index number 3 of s2 with s1> >if>((s2.compare(3, 5, s1)) == 0)> >cout << 'Here, '<< s1 << ' are ' << s2;> >else> >cout << 'Strings didn't match ';> }> // Driver Code> int> main()> {> >string s1('Geeks');> >string s2('forGeeks');> >compareOperation(s1, s2);> > >return> 0;> }> |
>
>
Ausgabe:
Here, Geeks are forGeeks>
- Syntax 3: Vergleicht höchstens len Zeichen der Zeichenfolge *this, beginnend mit Index idx, mit höchstens str_len Zeichen der Zeichenfolge str, beginnend mit Index str_idx.
int string::compare (size_type idx, size_type len, const string& str, size_type str_idx, size_type str_len) const Throws out_of_range if idx>Größe(). Löst out_of_range aus, wenn str_idx> str.size().>
CPP
Java-Hallo-Programm
// CPP code to demonstrate> // int string::compare (size_type idx, size_type len, const string&> // str, size_type str_idx, size_type str_len) const> #include> using> namespace> std;> void> compareOperation(string s1, string s2)> {> >// Compares 5 characters from index number 0 of s1 with> >// 5 characters from index 3 of s2> >if>((s1.compare(0, 5, s2, 3, 5)) == 0)> >cout << 'Welcome to ' << s1 << s2 << ' World';> >else> >cout << 'Strings didn't match ';> }> // Driver Code> int> main()> {> >string s1('Geeks');> >string s2('forGeeks');> >compareOperation(s1, s2);> > >return> 0;> }> |
>
>
Ausgabe:
Welcome, to techcodeview.com World>
- Syntax 4: Vergleicht die Zeichen des Strings *this mit den Zeichen des C-Strings cstr.
int string::compare (const char* cstr) const>
CPP
// CPP code to demonstrate> // int string::compare (const char* cstr) const> #include> using> namespace> std;> void> compareOperation(string s1, string s2)> {> >// returns <0 (s1 < 'techcodeview.com')> >if>((s1.compare('techcodeview.com')) <0)> >cout << s1 << ' is smaller than string ' << 'techcodeview.com';> >//returns 0 (s2 is 'forgeeks')> >if>((s2.compare('forGeeks')) == 0)> >cout << endl << s2 << ' is equal to string ' << s2;> >else> >cout << 'Strings didn't match ';> > }> // Driver Code> int> main()> {> >string s1('Geeks');> >string s2('forGeeks');> >compareOperation(s1, s2);> > >return> 0;> }> |
Onclick-Javascript
>
>
Ausgabe:
Geeks is smaller than string techcodeview.com forGeeks is equal to string forGeeks>
- Syntax 5: Vergleicht höchstens len Zeichen des Strings *this, beginnend mit Index idx, mit allen Zeichen des C-Strings cstr.
int string::compare (size_type idx, size_type len, const char* cstr) const>
Beachten Sie, dass cstr möglicherweise kein Nullzeiger (NULL) ist.
CPP
// CPP code to demonstrate> // int string::compare (size_type idx, size_type len,> // const char* cstr) const> #include> using> namespace> std;> void> compareOperation(string s1)> {> >// Compares 5 characters from 0 index of s1 with 'Geeks'> >if>((s1.compare(0, 5, 'Geeks')) == 0)> >cout << s1 << ' are ' << 'awesome people';> > >else> >cout << 'Strings didn't match ';> > }> // Driver Code> int> main()> {> >string s1('Geeks');> >compareOperation(s1);> > >return> 0;> }> |
>
Eimersortierung
>
Ausgabe:
Geeks are awesome people>
- Syntax 6: Vergleicht höchstens len Zeichen der Zeichenfolge *this, beginnend mit Index idx, mit chars_len Zeichen des Zeichenarrays chars.
int string::compare (size_type idx, size_type len, const char* chars, size_type chars_len)const>
Beachten Sie, dass chars mindestens chars_len Zeichen enthalten muss. Die Zeichen können beliebige Werte haben. Daher hat „ “ keine besondere Bedeutung.
CPP
// CPP code to demonstrate> // int string::compare (size_type idx, size_type len,> // const char* chars, size_type chars_len)const> #include> using> namespace> std;> void> compareOperation(string s1, string s2)> {> >// Compares 5 characters from 0 index of s1 with> >// 5 characters of string 'Geeks'> >if>((s1.compare(0, 5, 'Geeks', 5)) == 0)> >cout << 'This is ' << s1 << s2 ;> > >else> >cout << 'Strings didn't match ';> }> // Driver Code> int> main()> {> >string s1('Geeks');> >string s2('forGeeks');> >compareOperation(s1, s2);> > >return> 0;> }> |
>
>