Libreria di stringhe C ++ - confronta

Descrizione

Confronta il valore dell'oggetto stringa (o di una sottostringa) con la sequenza di caratteri specificata dai suoi argomenti.

Dichiarazione

Di seguito è riportata la dichiarazione per 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;

Parametri

  • str - È un oggetto stringa.

  • len - Serve per copiare i caratteri.

  • pos - Posizione del primo carattere da copiare.

Valore di ritorno

Restituisce un integrale con segno che indica la relazione tra le stringhe.

Eccezioni

se viene generata un'eccezione, non vengono apportate modifiche alla stringa.

Esempio

Nell'esempio seguente per 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;
}

L'output di esempio dovrebbe essere così:

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