Compartilhar via


char_traits::compare

Compara até um número especificado de caracteres em duas cadeias de caracteres.

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

Parâmetros

  • _Str1
    O primeiro de duas cadeias de caracteres a serem comparadas umas às outras.

  • _Str2
    O segundo de duas cadeias de caracteres a serem comparadas umas às outras.

  • _Num
    O número de elementos nas cadeias de caracteres a serem comparadas.

Valor de retorno

Um valor negativo se a primeira cadeia de caracteres é menor que a segunda cadeia de caracteres, 0 se as duas cadeias de caracteres forem iguais, ou um valor positivo se a primeira cadeia de caracteres é maior que a segunda cadeia de caracteres.

Comentários

A comparação entre as cadeias de caracteres é feita em elemento pelo elemento, primeiro testa a igualdade e, se um par de elementos no teste de sequência não iguais, ele será testado para menor que.

Se duas cadeias de caracteres são iguais em um intervalo mas um for mais longo que o outro, o menor dos dois for menor do que mais longo.

Exemplo

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

Saída de Exemplo

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

Requisitos

Cabeçalho: <cadeia de caracteres>

Namespace: std

Consulte também

Referência

Struct char_traits