string::operator>= (STL Sample)

The sample code below illustrates how to use the string::operator>= STL function in Visual C++.

Required Header:
<string>

Prototype:

Function 1:
template<class _E, class _TYPE, class _A> inline
     bool operator>=(const basic_string<_E, _TYPE, _A>& _L,
     const _E *_R);

Function 2:
template<class _E, class _TYPE, class _A> inline
    bool operator>=(const _E * _L,
    const basic_string<_E, _TYPE, _A>& _R);

Note: The class/parameter names in the prototype do not match the version in the header file. Some have been modified to improve readability.

Description:
There are two versions of the string::operator>= function. Both versions are used to compare a null-terminated character array against a basic_string. They perform this operation by negating the result of (_L < _R). For more information on this comparison, please see the string::operator< function.

Sample Code:

//////////////////////////////////////////////////////////////////////
//
// Compile options needed: none
//
// StringGreaterEqual.cpp:
//     Illustrates how to use the operator>= to compare a
//     basic_string variable and a null-terminated string.
//
// Functions:
//
//     operator>=   Returns true if the first parameter is not less than
//                  the second.
//
// Written by Derek Jamison
// of Microsoft AnswerPoint Support,
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
//////////////////////////////////////////////////////////////////////

#pragma warning(disable:4786)
#include <string>
#include <iostream>

using namespace std ;

void truefalse(int x)
{
  cout << (x?"True":"False") << endl;
}


void main()
{
   string S1="ABC";
   char CP1[4]="ABC";
   char CP2[4]="DEF";

   cout << "S1 is " << S1 << endl;
   cout << "CP1 is " << CP1 << endl;
   cout << "CP2 is " << CP2 << endl;

   cout << "S1>=CP1 returned ";
   truefalse(S1>=CP1);  // True   (calls function 1)

   cout << "S1>=CP2 returned ";
   truefalse(S1>=CP2);  // False  (calls function 1)

   cout << "CP1>=S1 returned ";
   truefalse(CP1>=S1);  // True   (calls function 2)

   cout << "CP2>=S1 returned ";
   truefalse(CP2>=S1);  // True   (calls function 2)
}

 

Program Output is:


S1 is ABC
CP1 is ABC
CP2 is DEF
S1>=CP1 returned True
S1>=CP2 returned False
CP1>=S1 returned True
CP2>=S1 returned True