Partager via


char_traits::compare

Compare jusqu'à un nombre spécifié de caractères dans deux chaînes.

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

Paramètres

  • _Str1
    Le premier des deux chaînes à comparer entre eux.

  • _Str2
    Le deuxième de deux chaînes à comparer entre eux.

  • _Num
    Le nombre d'éléments des chaînes à comparer.

Valeur de retour

Une valeur négative si la première chaîne est inférieure à la deuxième chaîne, 0 si les deux chaînes sont égales, ou une valeur positive si la première chaîne est plus grande que la seconde chaîne.

Notes

La comparaison entre les chaînes est effectuée à élément par élément, le premier test d'égalité puis, si une paire d'éléments des tests de séquence pas identiques, il est testée à moins que.

Si deux chaînes sont susceptibles de comparer une valeur égale sur une plage mais il est plus longue que l'autre, le plus courte des deux est moins que le plus long.

Exemple

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

Résultat de l'exemple

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

Configuration requise

en-tête : <string>

l'espace de noms : DST

Voir aussi

Référence

char_traits Struct