Поделиться через


char_traits::compare

Сравнивает до указанного количества знаков в 2 строках.

static int compare(
   const char_type* _Str1, 
   const char_type* _Str2, 
   size_t _Num 
);

Параметры

  • _Str1
    Первая из 2 строк для сравнения друг к другу.

  • _Str2
    Вторая из 2 строк для сравнения друг к другу.

  • _Num
    Число элементов в строках для сравнения.

Возвращаемое значение

Отрицательное значение, если первая строка, чем вторая строка, 2, 0, если строки равны или положительное значение, если первая строка больше, чем вторая строка.

Заметки

Сравнение строк выполняется элементом элементом, первым тестировании на равенство и, если пара элементов в тестах последовательности не equals, тестироваться для них меньше.

Если строки сравнивают с расстоянием равно 2, но одна длиннее другой, а затем короткая 2, чем более длинное.

Пример

// 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 пространство имен:

См. также

Ссылки

char_traits Struct