char_traits::compare
Porovnává zadaný počet znaků ve dvou řetězců.
static int compare(
const char_type* _Str1,
const char_type* _Str2,
size_t _Num
);
Parametry
_Str1
První dva řetězce vzájemně porovnat._Str2
Druhé dva řetězce vzájemně porovnat._Num
Počet prvků v řetězci porovnat.
Vrácená hodnota
Záporná hodnota, je-li první řetězec je menší než druhý řetězec, 0, pokud jsou dva řetězce jsou rovná nebo kladnou hodnotu, pokud je větší než druhý řetězec první řetězec.
Poznámky
Provádí porovnání řetězců element po elementu, první testování rovnosti a potom, pokud zkoušky nerovná dvojici v pořadí prvků, jejich jsou testovány na méně než.
Dva řetězce porovnat výši přes oblast, ale je delší než ostatní a pak kratší ze dvou je menší než delší.
Příklad
// char_traits_compare.cpp
// compile with: /EHsc
#include <string>
#include <iostream>
int main() {
using namespace std;
char_traits<char>::char_type* s1 = "CAB";
char_traits<char>::char_type* s2 = "ABC";
char_traits<char>::char_type* s3 = "ABC";
char_traits<char>::char_type* s4 = "ABCD";
cout << "The string s1 is: " << s1 << endl;
cout << "The string s2 is: " << s2 << endl;
cout << "The string s3 is: " << s3 << endl;
cout << "The string s4 is: " << s4 << endl;
int comp1, comp2, comp3, comp4;
comp1 = char_traits<char>::compare ( s1 , s2 , 2 );
comp2 = char_traits<char>::compare ( s2 , s3 , 3 );
comp3 = char_traits<char>::compare ( s3 , s4 , 4 );
comp4 = char_traits<char>::compare ( s4 , s3 , 4 );
cout << "compare ( s1 , s2 , 2 ) = " << comp1 << endl;
cout << "compare ( s2 , s3 , 3 ) = " << comp2 << endl;
cout << "compare ( s3 , s4 , 4 ) = " << comp3 << endl;
cout << "compare ( s4 , s3 , 4 ) = " << comp4 << endl;
}
Výstup ukázky
The string s1 is: CAB
The string s2 is: ABC
The string s3 is: ABC
The string s4 is: ABCD
compare ( s1 , s2 , 2 ) = 1
compare ( s2 , s3 , 3 ) = 0
compare ( s3 , s4 , 4 ) = -1
compare ( s4 , s3 , 4 ) = 1
Požadavky
Hlavička: <string>
Obor názvů: std