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