Comparar dos objetos de cadena en C ++ | STL C ++

cadena C ++ STL :: comparar () Función: Aquí, vamos a aprender a comparar dos objetos cadena en C ++ utilizando las funciones de C ++ STL (Standard Template Library) ?

cadena class en C ++ es un contenedor utilizado para gestionar las cadenas y tiene muchas ventajas que de ordinario c-cadena. En muchos problemas de programación, se requiere a comparar dos cadenas , en este artículo se discute la función de biblioteca se utiliza para comparar dos objetos cadena class en C ++ .

Utilizamos () la función std :: string :: compare a la comparación de dos objetos de cadena. Devuelve ‘0’ si las dos cadenas son iguales, número entero < 0 if the compared string is shorter and an integer > 0 si la cadena es más larga en comparación. Podemos utilizar std :: string :: compare () la función en diversas formas según las necesidades, algunos métodos se discuten a continuación.

Referencias: std :: string :: compare ()

Ejemplo 1:

Sintaxis:

    string::compare (const string& str) const

#include<iostream> 
using namespace std;
int main()
{
string s1("includehelp");
string s2("include");
string s3("includehelp");
if((s1.compare(s2)) == 0)
cout << s1 << " is equal to " << s2 << endl;
else
cout << s1 << " didn't match to " << s2 << endl;
if((s1.compare(s3)) == 0)
cout << s1 << " is equal to " << s3 << endl;
else
cout << s1 << " didn't match to " << s3 << endl;
return 0;
}

salida

includehelp didn't match to include
includehelp is equal to includehelp

Ejemplo 2:

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

Aquí, pos es el índice de la cadena de la que se desea comparar y len denota la longitud de la cadena de comparación después de pos . siguiente muestra el código El funcionamiento de esta sintaxis:

#include<iostream> 
using namespace std;
int main()
{
string s1("help");
string s2("includehelp");
//Compares 4 characters from index 7 of s2 with s1
if((s2.compare(7, 4, s1)) == 0)
cout << s1 << " is equal to " << s2.substr(7) << endl;
else
cout << s1 << " didn't match to " << s2.substr(7) << endl;
return 0;
}

salida

    help is equal to help

Ejemplo 3:

Se compara len caracteres de números índice pos de primera cadena con sublen personajes de índice subpos de cadena en comparación cadena es decir str . siguiente muestra el código El funcionamiento de esta sintaxis:

#include<iostream> 
using namespace std;
int main()
{
string s1("includenothelp");
string s2("helpinclude");
cout<<"s1 = "<<s1<<endl;
cout<<"s2 = "<<s2<<endl;
cout<<"Compares 7 characters from index 0 of s1 with 7 characters from index 4 of s2 "<<endl;
// Compares 7 characters from index 0 of s1 with 7 characters from index 4 of s2
if((s1.compare(0, 7, s2, 4, 7)) == 0)
cout << s1.substr(0,7) <<" of "<< s1 << " is equal to " << s2.substr(4) <<" of "<<s2 << endl;
else
cout <<" didn't match "<< endl;
return 0;
}

salida

Compares 7 characters from index 0 of s1 with 7 characters from index 4 of s2
include of includenothelp is equal to include of helpinclude


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *