logo

std::string::compare() in C++

confrontare() è una funzione membro pubblica della classe string. Confronta il valore dell'oggetto stringa (o di una sottostringa) con la sequenza di caratteri specificata dai suoi argomenti.
Il compare() può elaborare più di un argomento per ciascuna stringa in modo che sia possibile specificare una sottostringa in base al suo indice e alla sua lunghezza.
Tipo di reso: compare() restituisce un valore intero anziché un valore booleano.
Sintassi diverse per string::compare() :

    Sintassi 1: Confronta la stringa *this con la stringa 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: se *questo è più lungo di str oppure, il primo carattere che non corrisponde è maggiore>

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

>

>

Produzione:

Geeks is smaller than forGeeks Geeks is equal to Geeks>
    Sintassi 2: Confronta al massimo i caratteri len della stringa *this, iniziando dall'indice idx con la stringa str.
 int string::compare (size_type idx, size_type len, const string& str) const Throws out_of_range if index>dimensione().>

CPP


rivestimento delle corde 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;> }>

>

>

Produzione:

Here, Geeks are forGeeks>
    Sintassi 3: Confronta al massimo len caratteri della stringa *this che inizia con l'indice idx con al massimo str_len caratteri della stringa str che inizia con l'indice 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>misurare(). Genera out_of_range se 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;> }>

>

archi in c

>

Produzione:

Welcome, to techcodeview.com World>
    Sintassi 4: Confronta i caratteri della stringa *this con i caratteri della stringa C 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;> }>

>

scheda SIM inserita ma nessun servizio Android
>

Produzione:

Geeks is smaller than string techcodeview.com forGeeks is equal to string forGeeks>
    Sintassi 5: Confronta al massimo i caratteri len della stringa *this, iniziando dall'indice idx con tutti i caratteri della stringa C cstr.
 int string::compare (size_type idx, size_type len, const char* cstr) const>

Tieni presente che cstr potrebbe non essere un puntatore nullo (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;> }>

>

>

attore zeenat aman

Produzione:

Geeks are awesome people>
    Sintassi 6: Confronta, al massimo, i caratteri len della stringa *this, iniziando dall'indice idx con i caratteri chars_len dell'array di caratteri chars.
 int string::compare (size_type idx, size_type len, const char* chars,  size_type chars_len)const>

Tieni presente che i caratteri devono contenere almeno caratteri chars_len. I caratteri possono avere valori arbitrari. Pertanto, ' ' non ha alcun significato speciale.

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

>

>