Freigeben über


basic_string::compare

Führt einen Vergleich mit der Groß-/Kleinschreibung einer angegebenen Zeichenfolge aus, um zu bestimmen, ob die zwei Zeichenfolgen gleich sind, oder wenn das lexikografisch kleiner als das andere ist.

int compare(
    const basic_string<CharType, Traits, Allocator>& _Str
) const;
int compare(
    size_type _Pos1, 
    size_type _Num1,
    const basic_string<CharType, Traits, Allocator>& _Str
) const;
int compare(
    size_type _Pos1,
    size_type _Num1,
    const basic_string<CharType, Traits, Allocator>& _Str, 
    size_type _Off, 
    size_type _Count
) const;
int compare(
    const value_type* _Ptr
) const;
int compare(
    size_type _Pos1,
    size_type _Num1,
    const value_type* _Ptr
) const;
int compare(
    size_type _Pos1,
    size_type _Num1,
    const value_type* _Ptr
    size_type _Num2
) const;

Parameter

  • _Str
    Die Zeichenfolge, die der Operandenzeichenfolge verglichen werden soll.

  • _Pos1
    Der Index der Operandenzeichenfolge, an der der Vergleich beginnt.

  • _Num1
    Die maximale Anzahl von Zeichen aus der zu vergleichenden Operandenzeichenfolge.

  • _Num2
    Die maximale Anzahl von Zeichen aus der zu vergleichenden - Parameterzeichenfolge.

  • _Off
    Der Index der Parameterzeichenfolge, an der der Vergleich beginnt.

  • _Count
    Die maximale Anzahl von Zeichen aus der zu vergleichenden - Parameterzeichenfolge.

  • _Ptr
    Die an die Operandenzeichenfolge verglichen werden C-Zeichenfolge.

Rückgabewert

Ein negativer Wert, wenn die Operandenzeichenfolge kleiner ist, als die - Parameterzeichenfolge; (wenn die zwei Zeichenfolgen gleich sind, oder ein positiver Wert, wenn die Operandenzeichenfolge größer ist, als die - Parameterzeichenfolge.

Hinweise

Die compare-Memberfunktionen vergleichen jedes alle oder nur einen Teil der Parameter- und Operandenzeichenfolgen, je nach verwendetem in.

Der Vergleich, der ausgeführt wird, wird die Groß-/Kleinschreibung beachtet.

Beispiel

// basic_string_compare.cpp
// compile with: /EHsc
#include <string>
#include <iostream>

int main( ) 
{
   using namespace std;

   // The first member function compares
   // an operand string to a parameter string
   int comp1;
   string s1o ( "CAB" );
   string s1p ( "CAB" );
   cout << "The operand string is: " << s1o << endl;
   cout << "The parameter string is: " << s1p << endl;
   comp1 = s1o.compare ( s1p );
   if ( comp1 < 0 )
      cout << "The operand string is less than "
           << "the parameter string." << endl;
   else if ( comp1 == 0 )
      cout << "The operand string is equal to "
           << "the parameter string." << endl;
   else
      cout << "The operand string is greater than "
           << "the parameter string." << endl;
   cout << endl;

   // The second member function compares part of
   // an operand string to a parameter string
   int comp2a, comp2b;
   string s2o ( "AACAB" );
   string s2p ( "CAB" );
   cout << "The operand string is: " << s2o << endl;
   cout << "The parameter string is: " << s2p << endl;
   comp2a = s2o.compare (  2 , 3 , s2p );
   if ( comp2a < 0 )
      cout << "The last three characters of "
           << "the operand string\n are less than "
           << "the parameter string." << endl;
   else if ( comp2a == 0 )
      cout << "The last three characters of "
           << "the operand string\n are equal to "
           << "the parameter string." << endl;
   else
      cout << "The last three characters of "
           << "the operand string\n is greater than "
           << "the parameter string." << endl;

   comp2b = s2o.compare (  0 , 3 , s2p );
   if ( comp2b < 0 )
      cout << "The first three characters of "
           << "the operand string\n are less than "
           << "the parameter string." << endl;
   else if ( comp2b == 0 )
      cout << "The first three characters of "
           << "the operand string\n are equal to "
           << "the parameter string." << endl;
   else
      cout << "The first three characters of "
           << "the operand string\n is greater than "
           << "the parameter string." << endl;
   cout << endl;

   // The third member function compares part of
   // an operand string to part of a parameter string
   int comp3a;
   string s3o ( "AACAB" );
   string s3p ( "DCABD" );
   cout << "The operand string is: " << s3o << endl;
   cout << "The parameter string is: " << s3p << endl;
   comp3a = s3o.compare (  2 , 3 , s3p , 1 , 3 );
   if ( comp3a < 0 )
      cout << "The three characters from position 2 of "
           << "the operand string are less than\n "
           << "the 3 characters parameter string " 
           << "from position 1." << endl;
   else if ( comp3a == 0 )
      cout << "The three characters from position 2 of "
           << "the operand string are equal to\n "
           << "the 3 characters parameter string " 
           << "from position 1." << endl;
   else
      cout << "The three characters from position 2 of "
           << "the operand string is greater than\n "
           << "the 3 characters parameter string " 
           << "from position 1." << endl;
   cout << endl;

   // The fourth member function compares
   // an operand string to a parameter C-string
   int comp4a;
   string s4o ( "ABC" );
   const char* cs4p = "DEF";
   cout << "The operand string is: " << s4o << endl;
   cout << "The parameter C-string is: " << cs4p << endl;
   comp4a = s4o.compare ( cs4p );
   if ( comp4a < 0 )
      cout << "The operand string is less than "
           << "the parameter C-string." << endl;
   else if ( comp4a == 0 )
      cout << "The operand string is equal to "
           << "the parameter C-string." << endl;
   else
      cout << "The operand string is greater than "
           << "the parameter C-string." << endl;
   cout << endl;

   // The fifth member function compares part of
   // an operand string to a parameter C-string
   int comp5a;
   string s5o ( "AACAB" );
   const char* cs5p = "CAB";
   cout << "The operand string is: " << s5o << endl;
   cout << "The parameter string is: " << cs5p << endl;
   comp5a = s5o.compare (  2 , 3 , s2p );
   if ( comp5a < 0 )
      cout << "The last three characters of "
           << "the operand string\n are less than "
           << "the parameter C-string." << endl;
   else if ( comp5a == 0 )
      cout << "The last three characters of "
           << "the operand string\n are equal to "
           << "the parameter C-string." << endl;
   else
      cout << "The last three characters of "
           << "the operand string\n is greater than "
           << "the parameter C-string." << endl;
   cout << endl;

   // The sixth member function compares part of
   // an operand string to part of an equal length of
   // a parameter C-string
   int comp6a;
   string s6o ( "AACAB" );
   const char* cs6p = "ACAB";
   cout << "The operand string is: " << s6o << endl;
   cout << "The parameter C-string is: " << cs6p << endl;
   comp6a = s6o.compare (  1 , 3 , cs6p , 3 );
   if ( comp6a < 0 )
      cout << "The 3 characters from position 1 of "
           << "the operand string are less than\n "
           << "the first 3 characters of the parameter C-string." 
           << endl;
   else if ( comp6a == 0 )
      cout << "The 3 characters from position 2 of "
           << "the operand string are equal to\n "
           << "the first 3 characters of the parameter C-string." 
           <<  endl;
   else
      cout << "The 3 characters from position 2 of "
           << "the operand string is greater than\n "
           << "the first 3 characters of the parameter C-string." 
           << endl;
   cout << endl;
}
  
  
  
  
  
  
  

Anforderungen

Header: <string>

Namespace: std

Siehe auch

Referenz

basic_string Class