Cómo comparar la cadena en C ++

Cómo comparar la cadena en C ++
Comparar cadenas es una tarea muy común para cualquier lenguaje de programación. Se utiliza principalmente para validar los datos, como verificar el nombre de usuario y la contraseña de la información de inicio de sesión. La comparación de cadenas se puede hacer utilizando un operador de comparación o utilizando funciones incorporadas. Dos funciones de comparación de cadenas utilizadas en C ++ son, strcmp () y comparar(). El strcmp () es una función de biblioteca de C para comparar dos cadenas. La Compare () es una función incorporada de C ++ para comparar dos cuerdas. Las formas de comparar cadenas utilizando operadores de comparación y funciones se han explicado en este tutorial.

Requisito previo:

Antes de verificar los ejemplos de este tutorial, debe verificar que el compilador G ++ esté instalado o no en el sistema. Si está utilizando el código Visual Studio, instale las extensiones necesarias para compilar el código fuente de C ++ para crear el código ejecutable. Aquí, la aplicación de código de Visual Studio se ha utilizado para compilar y ejecutar el código C ++.

Uso del operador de comparación para comparar la cadena:

La forma más común de comparar cadenas en C ++ es usar el operador de comparación. Estos son iguales (==) y no iguales (!=) operadores. Cree un archivo C ++ con el siguiente código para comparar dos valores de cadena utilizando el operador de comparación. Según el código, se tomará una dirección de URL del usuario y se comparará con otras cadenas utilizando un operador igual (==). Si el valor de entrada coincide con cualquier cadena de la condición 'if', se imprimirá el mensaje específico; de lo contrario, se mostrará el mensaje de la parte 'más'.

#incluir
usando el espacio de nombres STD;
int main ()
// declarar una variable de cadena
cadena url_addr;
// tomar una dirección de URL del usuario
cout<<"Enter the URL Address: ";
cin >> url_addr;
// Compare el valor de entrada con otra cadena utilizando un operador equivalente
if (url_addr == "Google.com ")
cout<<"It is a search engine wensite."<else if (url_addr == "Jooble.org ")
cout<<"It is a job searching website."<else if (url_addr == "Linuxhint.com ")
cout<<"It is a blog website."<demás
cout<<"No information is added for this site."<regresar 0;

Producción:

Después de ejecutar el código, si el usuario escribió 'Linuxhint.comunicarse'Como entrada, la tercera condición' si 'se devolverá Verdadero, y aparecerá la siguiente salida.

Uso de la función Compare () para comparar la cadena:

La función compare () compara dos cadenas y devuelve 0 o 1 o -1 en función del resultado coincidente de la comparación. El significado de los valores de retorno se da a continuación.

  • La función devolverá 0 cuando ambas cadenas de comparación son iguales.
  • La función devolverá 1 cuando la primera cadena sea mayor que la segunda cadena.
  • La función volverá -1 cuando la primera cadena es menor que la segunda cadena.

Sintaxis:

int string1.Comparar (String2)

Cree un archivo C ++ con el siguiente código para comparar dos valores de cadena con dos valores de entrada usando la función Compare (). La autenticación de cualquier usuario puede verificarse comparando los valores enviados por los usuarios con los valores del usuario autenticado. Este proceso de autenticación se ha implementado en el siguiente código. La dirección de correo electrónico válidas y la contraseña se han almacenado en dos variables de cadena aquí. A continuación, estos valores se han comparado con la dirección de correo electrónico y la contraseña tomada del usuario utilizando comparar () función. La lógica Y El operador se ha utilizado en el código para autenticar al usuario. El mensaje de éxito se imprimirá si ambas funciones compare () devuelven verdad. De lo contrario, el mensaje de falla se imprimirá.

#incluir
usando el espacio de nombres STD;
int main ()
// Inicializar dos variables de cadena
String Correo electrónico ("[email protected] ");
String Password ("Linuxhint");
// declarar dos variables de cadena
cadena user_email;
String user_password;
// Tome la dirección de correo electrónico del usuario
cout<<"Enter your email address:";
CIN >> user_email;
// tomar la contraseña del usuario
cout<<"Enter your password:";
CIN >> user_password;
// Verifique el nombre de usuario y la contraseña es válida o inválida
if (user_email.comparar (correo electrónico) == 0 && user_password.Comparar (contraseña) == 0)
cout<<"Authentication Successful."<demás
cout<<"Email or password is invalid."<regresar 0;

Producción:

Después de ejecutar el código, si el usuario escribió '[email protected]'como dirección de correo electrónico y'12345'Como contraseña, la tercera condición' si 'se devolverá FALSO, y aparecerá la siguiente salida.

Después de ejecutar el código nuevamente, si el usuario escribió '[email protected]'como dirección de correo electrónico y'Linuxhint'Como contraseña, la tercera condición' si 'se devolverá Verdadero, y aparecerá la siguiente salida.

Uso de la función strcmp () para comparar la cadena:

El strcmp () es otra función para comparar cadenas en c++. Devuelve verdadero si ambas cadenas de comparación son iguales. Los parámetros de entrada tomados por esta función son diferentes de la función compare (). La función de comparación toma un valor de cadena como parámetro, y la función strcmp () toma la matriz de char como parámetro. La sintaxis de esta función se da a continuación.

Sintaxis:

int strcmp (const char * str1, const char * str2);

Cree un archivo C ++ con el siguiente código para comparar dos cadenas usando la función strcmp (). Se han declarado en el código dos matrices de caracteres de 100 elementos en el código para almacenar los valores de cadena tomados por los usuarios. El obtener línea() La función se utiliza para almacenar la entrada del usuario en las variables de matriz de char. A continuación, el strcmp () la función ha utilizado para verificar que los valores de entrada son iguales o no. Si la función regresa Verdadero, entonces se imprimirá el mensaje de éxito; de lo contrario, el mensaje de falla se imprimirá,

#incluir
#incluir
usando el espacio de nombres STD;
int main ()
// delee dos variables de cadena
char chrdata1 [100], chrdata2 [100];
// tomar los datos de la primera cadena
cout<<"Enter the first string:";
cinta.GetLine (chrdata1, 100);
// tomar los datos de la segunda cadena
cout<<"Enter the second string:";
cinta.GetLine (chrdata2, 100);
if (strcmp (chrdata1, chrdata2) == 0)
printf ("Las cadenas son iguales \ n");
demás
printf ("Las cadenas no son iguales \ n");
regresar 0;

Producción:

Después de ejecutar el código, el valor de la cadena ','Hola'se da para ambos valores de entrada, y aparecerá la siguiente salida.

Conclusión:

Se han mostrado tres formas de comparar cadenas en C ++ en este tutorial utilizando tres ejemplos simples. Tanto los usos del operador de comparación como las funciones incorporadas para verificar la igualdad de las cuerdas se han descrito en este tutorial para ayudar a los nuevos programadores de C ++.