sammenligne() er en offentlig medlemsfunksjon av strengklasse. Den sammenligner verdien til strengobjektet (eller en delstreng) med sekvensen av tegn spesifisert av argumentene.
Compare() kan behandle mer enn ett argument for hver streng slik at man kan spesifisere en delstreng ved indeksen og lengden.
Returtype: compare() returnerer en heltallsverdi i stedet for en boolsk verdi.
Ulike syntakser for streng::compare() :
- Syntaks 1: Sammenligner strengen *dette med strengen 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 : hvis *dette er lengre enn str eller, er det første tegnet som ikke samsvarer større>
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;> }> |
>
>
Produksjon:
Geeks is smaller than forGeeks Geeks is equal to Geeks>
- Syntaks 2: Sammenligner på det meste, len tegn i streng *dette, starter med indeks idx med strengen str.
int string::compare (size_type idx, size_type len, const string& str) const Throws out_of_range if index>størrelse().>
CPP
zip-kommando i linux
// 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;> }> |
>
>
Produksjon:
Here, Geeks are forGeeks>
- Syntaks 3: Sammenligner høyst len-tegn i streng *dette starter med indeks idx med høyst, str_len-tegn i streng str som starter med indeks 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>størrelse(). Kaster ut_av_området hvis 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;> }> |
>
>
Produksjon:
java hello world eksempel
Welcome, to techcodeview.com World>
- Syntaks 4: Sammenligner tegnene i streng *dette med tegnene til C-strengen 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;> }> |
>
>
git rebase
Produksjon:
Geeks is smaller than string techcodeview.com forGeeks is equal to string forGeeks>
- Syntaks 5: Sammenligner på det meste, len tegn i streng *dette, starter med indeks idx med alle tegn i C-streng cstr.
int string::compare (size_type idx, size_type len, const char* cstr) const>
Merk at cstr kanskje ikke er en null-peker (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;> }> |
>
>
Produksjon:
python initialiseringsliste
Geeks are awesome people>
- Syntaks 6: Sammenligner, på det meste, len-tegn i streng *this, og starter med indeks idx med chars_len-tegn i tegnarray-tegnene.
int string::compare (size_type idx, size_type len, const char* chars, size_type chars_len)const>
Merk at tegn må ha minst chars_len-tegn. Tegnene kan ha vilkårlige verdier. Derfor har ' ' ingen spesiell betydning.
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;> }> |
>
>