Case-Sensitive Substring Comparison: generalization of strncmp() : string compare « string « C++ Tutorial






#include <iostream>
#include <string>

using namespace std;
int main( )
{
   string saying1( "this is a test" );
   string saying2( "this is another test" );

   // generalization of strncmp()
   cout << "\n\nCOMPARE SUBSTRINGS OF DIFFERENT LENGTHS AND INDEXES\n";
   if( saying1.substr( 2, 11 ) < saying2.substr( 14, 17 ) )
      cout << "\"" << saying1.substr( 2, 11 ) << "\" is less than \""
         << saying2.substr( 14, 17 ) << "\"";
   else if( saying1.substr( 2, 11 ) > saying2.substr( 14, 17 ) )
      cout << "\"" << saying1.substr( 2, 11 )
         << "\" is greater than \"" << saying2.substr( 14, 17 ) << "\"";
   else
      cout << "\"" << saying1.substr( 2, 11 ) << "\" is equal to \""
         << saying2.substr( 14, 17 ) << "\"";
}








15.7.string compare
15.7.1.String: equals
15.7.2.string overloaded equality and relational operators
15.7.3.Compare string ignoring the case
15.7.4.Compare sub string: string4.compare( 0, string2.length(), string2 )
15.7.5.Use == > and < to compare strings
15.7.6.Use string.compare to compare two strings
15.7.7.Compare strings by index: string1.compare( 2, 5, string3, 0, 5)
15.7.8.Set with functor for string comparison
15.7.9.Case-Sensitive Substring Comparison: equivalent of strncmp()
15.7.10.Case-Sensitive Substring Comparison: generalization of strncmp()
15.7.11.Case-Sensitive String Comparisons
15.7.12.Use std::lexicographical_compare to compare two char arrays