char_traits::compare
Сравнивает до указанного числа символов в 2 строк.
static int compare(
const char_type* _Str1,
const char_type* _Str2,
size_t _Num
);
Параметры
_Str1
Первая из 2 строк, с которым будет сравниваться друг к другу._Str2
Вторая из 2 строк, с которым будет сравниваться друг к другу._Num
Количество элементов в строках, с которым выполняется сравнение.
Возвращаемое значение
Отрицательное значение, если первая строка, вторая строка, если равны 0 2 строк, или положительное значение, если первая строка больше, чем второй.
Заметки
Сравнение строк выполняется элементом, первым элементом тестирования на равенство и затем, если пара элементов в тестах последовательности не меньше, чем они проверяется для.
Если 2 строки сравнивают значения в диапазоне, но одна другая превышает 2, то short, чем одно long.
Пример
// 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;
}
Пример результатов выполнения
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
Требования
Заголовок:<string>
Пространство имен: std