Biblioteca C ++ String - compare

Descrição

Ele compara o valor do objeto string (ou uma substring) com a seqüência de caracteres especificada por seus argumentos.

Declaração

A seguir está a declaração para 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 - É um objeto string.

  • len - É usado para copiar os personagens.

  • pos - Posição do primeiro caractere a ser copiado.

Valor de retorno

Ele retorna uma integral com sinal indicando a relação entre as strings.

Exceções

se uma exceção for lançada, não haverá mudanças na string.

Exemplo

No exemplo abaixo 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;
}

O exemplo de saída deve ser assim -

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