Comparando strings usando operadores relacionales , usando compare()
Operadores relacionales vs std::string::compare()
- Valor devuelto: los operadores relacionales devuelven un valor booleano, mientras que compare() devuelve un entero sin signo.
- Parámetros: los operadores relacionales solo necesitan dos strings para realizar la comparación, una que se compara y otra como referencia, mientras que compare() puede aceptar diferentes argumentos para realizar ciertas tareas en consecuencia.
- Método de comparación: los operadores relacionales comparan los caracteres lexicográficamente de acuerdo con los rasgos de carácter actuales, mientras que compare() puede procesar más de un argumento para cada string para que pueda especificar una substring por su índice y por su longitud.
- Operación: podemos realizar una comparación en una parte de la string directamente, usando compare(), que por lo demás es un proceso bastante largo con operadores relacionales.
Ejemplo: * Compare 3 caracteres de la 3.ª posición de str1 con 3 caracteres de la 4.ª posición de str2.* str1 = "GeeksforGeeks" * str2 = "HelloWorld!"
Usando comparar() :
// CPP code to perform comparison using compare()
#include <iostream>
using
namespace
std;
void
usingCompare(string str1, string str2)
{
// Direct Comparison
if
(str1.compare(2, 3, str2, 3, 3) == 0)
cout <<
"Both are same"
;
else
cout <<
"Not equal"
;
}
// Main function
int
main()
{
string s1(
"GeeksforGeeks"
);
string s2(
"HelloWorld !"
);
usingCompare(s1, s2);
return
0;
}
Producción:
Not equal
Uso de operadores relacionales:
// CPP code for comparison using relational operator
#include <iostream>
using
namespace
std;
void
relational_operation(string s1, string s2)
{
int
i, j;
// Lexicographic comparison
for
(i = 2, j = 3; i <= 5 && j <= 6; i++, j++) {
if
(s1[i] != s2[j])
break
;
}
if
(i == 6 && j == 7)
cout <<
"Equal"
;
else
cout <<
"Not equal"
;
}
// Main function
int
main()
{
string s1(
"GeeksforGeeks"
);
string s2(
"HelloWorld !"
);
relational_operation(s1, s2);
return
0;
}
Producción:
Not equal
Podemos observar claramente el procesamiento adicional por el que debemos pasar al usar operadores relacionales.
Este artículo es una contribución de Sakshi Tiwari . Si le gusta GeeksforGeeks (¡sabemos que le gusta!) y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA