Partilhar 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 ser comparadas entre si.

  • _Str2
    o segundo de duas cadeias de caracteres a ser comparadas entre si.

  • _Num
    O número de elementos em cadeias de caracteres a ser 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 são iguais, ou um valor positivo se a primeira cadeia de caracteres é maior do que a segunda cadeia de caracteres.

Comentários

A comparação entre as cadeias de caracteres é feita a elemento do elemento, primeiros teste para igualdade e em seguida, se um par de elementos de testes de seqüência não iguais, ele é testado para menor que.

Se duas cadeias de caracteres comparam iguais em um intervalo mas um é maior que o outro, então o menor dos dois é menor que maior.

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

A 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: <string>

namespace: STD

Consulte também

Referência

char_traits Struct