Biblioteca de cadenas C ++ - comparar

Descripción

Compara el valor del objeto de cadena (o una subcadena) con la secuencia de caracteres especificada por sus argumentos.

Declaración

A continuación se muestra la declaración de std :: string :: compare.

int compare (size_t pos, size_t len, const string& str) const;
int compare (size_t pos, size_t len, const string& str,
             size_t subpos, size_t sublen) const;

C ++ 11

int compare (size_t pos, size_t len, const string& str) const;
int compare (size_t pos, size_t len, const string& str,
             size_t subpos, size_t sublen) const;

C ++ 14

int compare (size_t pos, size_t len, const string& str) const;
int compare (size_t pos, size_t len, const string& str,
             size_t subpos, size_t sublen = npos) const;

Parámetros

  • str - Es un objeto de cuerda.

  • len - Se utiliza para copiar los personajes.

  • pos - Posición del primer carácter a copiar.

Valor devuelto

Devuelve una integral con signo que indica la relación entre las cadenas.

Excepciones

si se lanza una excepción, no hay cambios en la cadena.

Ejemplo

En el siguiente ejemplo para std :: string :: compare.

#include <iostream>
#include <string>

int main () {
   std::string str1 ("green mango");
   std::string str2 ("red mango");

   if (str1.compare(str2) != 0)
      std::cout << str1 << " is not " << str2 << '\n';

   if (str1.compare(6,5,"mango") == 0)
      std::cout << "still, " << str1 << " is an mango\n";

   if (str2.compare(str2.size()-5,5,"mango") == 0)
      std::cout << "and " << str2 << " is also an mango\n";

   if (str1.compare(6,5,str2,4,5) == 0)
      std::cout << "therefore, both are mangos\n";

   return 0;
}

La salida de muestra debería ser así:

green mango is not red mango
still, green mango is an mango
and red mango is also an mango
therefore, both are mangos