sammenligne() er en offentlig medlemsfunktion af strengklasse. Den sammenligner værdien af strengobjektet (eller en understreng) med sekvensen af tegn, der er specificeret af dets argumenter.
Compare() kan behandle mere end ét argument for hver streng, så man kan specificere en understreng ved dets indeks og ved dets længde.
Returtype: compare() returnerer en heltalsværdi i stedet for en boolsk værdi.
Forskellige 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 længere end str eller, er det første tegn, der ikke matcher, 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;> }> |
>
>
Produktion:
Geeks is smaller than forGeeks Geeks is equal to Geeks>
- Syntaks 2: Sammenligner højst len-tegn i streng *dette, startende med index 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
amplitudemodulation
// 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;> }> |
>
>
Produktion:
Here, Geeks are forGeeks>
- Syntaks 3: Sammenligner højst len-tegn i streng *dette starter med index idx med højst str_len-tegn i streng str, der starter med 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>størrelse(). Kaster out_of_range 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;> }> |
>
>
Produktion:
vælg sql fra flere tabeller
Welcome, to techcodeview.com World>
- Syntaks 4: Sammenligner tegnene i streng *dette med tegnene i 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;> }> |
>
>
webbrowserindstillinger
Produktion:
Geeks is smaller than string techcodeview.com forGeeks is equal to string forGeeks>
- Syntaks 5: Sammenligner højst len-tegn i streng *dette, startende med index idx med alle tegn i C-strengen cstr.
int string::compare (size_type idx, size_type len, const char* cstr) const>
Bemærk, at cstr muligvis ikke er en nul-pointer (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;> }> |
>
>
Produktion:
python initialiseringsliste
Geeks are awesome people>
- Syntaks 6: Sammenligner højst len-tegn af streng *this, startende med index 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>
Bemærk, at tegn skal have mindst chars_len-tegn. Tegnene kan have vilkårlige værdier. Derfor har ' ' ingen særlig 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;> }> |
>
>