vertailla() on merkkijonoluokan julkinen jäsenfunktio. Se vertaa merkkijonoobjektin (tai alimerkkijonon) arvoa sen argumenttien määrittelemään merkkijonoon.
Vertailu() voi käsitellä useamman kuin yhden argumentin kullekin merkkijonolle, jotta osamerkkijono voidaan määrittää sen indeksin ja pituuden perusteella.
Palautustyyppi: vertaa() palauttaa kokonaisluvun loogisen arvon sijaan.
Eri syntaksit merkkijonolle::vertaa() :
- Syntaksi 1: Vertaa merkkijonoa *this merkkijonoon 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 : jos *tämä on pidempi kuin str tai ensimmäinen merkki, joka ei täsmää, on suurempi>
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;> }> |
>
>
Lähtö:
Geeks is smaller than forGeeks Geeks is equal to Geeks>
- Syntaksi 2: Vertaa enintään merkkijonon len merkkejä *this alkaen indeksistä idx merkkijonoon str.
int string::compare (size_type idx, size_type len, const string& str) const Throws out_of_range if index>koko().>
CPP
c-merkkijono taulukossa
// 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;> }> |
>
>
Lähtö:
Here, Geeks are forGeeks>
- Syntaksi 3: Vertaa enintään merkkijonon len merkkiä *tämä alkaa indeksillä idx enintään str_len merkkijonon str alkavalla indeksillä 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>koko(). Heittää pois_alueen, jos str_idx> str.size().>
CPP
// 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;> }> |
iteroida kartta javan kautta
>
>
Lähtö:
Welcome, to techcodeview.com World>
- Syntaksi 4: Vertaa merkkijonon *this merkkejä C-merkkijonon 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;> }> |
>
>
Lähtö:
Geeks is smaller than string techcodeview.com forGeeks is equal to string forGeeks>
- Syntaksi 5: Vertaa enintään merkkijonon len merkkejä *this, alkaen indeksistä idx, kaikkiin C-merkkijonon cstr merkkiin.
int string::compare (size_type idx, size_type len, const char* cstr) const>
Huomaa, että cstr ei välttämättä ole nollaosoitin (NULL).
CPP
java skanneri
// 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;> }> |
>
>
Lähtö:
Geeks are awesome people>
- Syntaksi 6: Vertaa enintään *this-merkkijonon len-merkkejä, alkaen indeksistä idx, merkkijonon merkkien chars_len-merkkeihin.
int string::compare (size_type idx, size_type len, const char* chars, size_type chars_len)const>
Huomaa, että merkeissä on oltava vähintään chars_len merkkejä. Merkkeillä voi olla mielivaltaisia arvoja. Siten :lla ei ole erityistä merkitystä.
CPP
chown komento
// 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;> }> |
>
>