std::string::vertaa() C++:ssa

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




// 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;> }>

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




// 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




// 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;> }>