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