char_traits::compare

比较到指定数量的字符对两个字符串的。

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

参数

  • _Str1
    将相互比较的第一个字符串。

  • _Str2
    将相互比较的第二两个字符串。

  • _Num
    元素数。要比较的字符串的。

返回值

负值,如果第一个字符串大于第二个字符串是小于,0,如果两个字符串相等或一个正整数值,如果第一个字符串大于第二个字符串。

备注

在字符串的比较由元素组成元素,首先测试对相等然后,因此,如果元素对该序列中的测试不等于,它们为小于测试比。

如果两个字符串比较在范围内的相等,但有一个比其他长,则短两个比更长一个小于。

示例

// 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