Strncmp c ++

Strncmp c ++
Las cadenas son la parte principal del lenguaje C ++, ya que contiene muchas funciones incorporadas para hacer algunas tareas específicas en esas cuerdas. Puede crear subcadenas, verificar sus tamaños y relacionarlos entre sí. La comparación de cadenas es el concepto más utilizado en C++. Para hacer esto, C ++ se le ocurrió la función strncmp (). Es bastante fácil de usar con declaraciones if-else en el código. Por lo tanto, discutiremos su trabajo en Ubuntu 20.04 sistema. Comencemos con la nueva generación de archivos C ++ con instrucciones táctiles en el shell y ábralo con la palabra clave "nano".

Ejemplo 01:

Comencemos con el primer ejemplo para usar la función strncmp (). El código se ha iniciado con la inclusión de la biblioteca C ++. Las bibliotecas de encabezado que hemos incluido son "iostream" y "cadena.h "para el uso de la transmisión de entrada-salida y las funciones de cadena directamente en el código. El espacio de nombres "STD" de C ++ es necesario para agregar dentro del código para utilizar las declaraciones "CIN" y "Cout". Todo el código se ha realizado dentro de la función Main (). Entonces, lo comenzamos con la declaración e inicialización de las variables de cadena de tipo de dos caracteres del tamaño 30, I.mi. S1 y S3. Ambos archivos contienen los valores de tipo de cadena en ellos, yo.mi. mitad igual y mitad diferente. Se ha llamado a la función strncmp () para comparar las dos variables S1 y S2.

Esta llamada de función ha estado utilizando las variables S1 y S2 en los argumentos y el número de elementos que queremos comparar, i.mi. 9. El número de caracteres iguales para ambas cuerdas devueltas por la función strncmp () se guardará en la variable entera "i". Aquí viene la declaración "if-else" para verificar si el número de caracteres iguales devueltos es cero, menor que 0 o mayor que 0. Si el número "I" es igual a cero, la instrucción CoUT mostrará la cadena igual de salida. Esto significa que no hay caracteres inigualables hasta ahora. De lo contrario, la declaración de "cout" de lo contrario mostrará que las cadenas no son iguales.

Después de esta compilación de código con G ++ y ejecución con el "./a.Comando de fuera ", tenemos el resultado que demuestra que ambas cuerdas son iguales hasta los primeros 9 caracteres en cada uno.

Cambiemos el número de caracteres que se compararán entre ambas cuerdas. Entonces, hemos estado utilizando la misma pieza de código para C++. Hemos actualizado la función strncmp () aquí reemplazando su tercer argumento. Hemos reemplazado 9 por 14 para comparar el total de los primeros 14 caracteres de ambos cuerdas.

Después de la compilación de código y la ejecución actualizada, tenemos la salida a continuación. Como la cadena 1 es diferente de la cadena 2 en adelante, sus 10th Muestra de caracteres que ambas cuerdas no son iguales después de los primeros 9 caracteres.

Ejemplo 02:

Echemos un vistazo a otro ejemplo de la función strncmp () que funciona en diferentes tipos de cuerdas. Esta vez, echaremos un vistazo a dos mismas cuerdas de tipo de carácter con diferentes casos. Entonces, hemos comenzado este ejemplo con los mismos encabezados y espacio de nombres de C ++ antes de la implementación de la función Main (). Dentro del método Main (), se han inicializado 2 cadenas de tipo de caracteres con valores de cadena; Ambos son iguales en caracteres pero diferentes en casos de tipo, yo.mi. Superior e inferior. Se ha llamado al método strncmp () para verificar si ambas cuerdas son iguales hasta los primeros 5 caracteres. La declaración "if-else" funcionará en consecuencia, yo.mi. igual o no igual. Guardemos y ejecutemos este código para ver que la actualización funcione correctamente o no.

Hemos compilado este código primero y lo ejecutamos después de eso. A cambio, tenemos que las cuerdas no son iguales. Esto demuestra que la función strncmp () devuelve 0 si y solo si ambas cadenas son las mismas en caracteres y casos de tipo. De lo contrario, devolverá un valor menor o igual a 0.

Por lo tanto, hemos actualizado los valores de cadena en el código con los mismos casos de tipo y caracteres. Después de la inicialización de la cadena, hemos llamado al método strncmp () para comparar ambos la cadena hasta el último carácter. Hemos agregado la declaración anidada "if-else" aquí para verificar más de 1 condición. Si el valor de retorno es igual a 0, devolverá que las cadenas son iguales junto con la visualización del valor devuelto. De lo contrario, si el valor de comparación devuelto es mayor o menor que 0, actuará en consecuencia y mostrará ese valor en particular devuelto.

Después de la compilación y la ejecución de este código actualizado, recibimos el mensaje "Las cadenas iguales" y el valor devuelto, yo.mi. 0.

Ejemplo 03:

Hemos hecho con todos los ejemplos utilizando la función strncmp () para ver si dos cadenas son iguales o no. Estaremos viendo la función strncmp () de manera un poco diferente esta vez. Utilizaremos una cadena grande y una pequeña cadena en el código. Entonces, hemos estado comenzando nuestro ejemplo con el iOStream y la cadena.H Bibliotecas de encabezado utilizando la palabra clave "#include" con ambos. Después de agregar el espacio de nombres, hemos estado iniciando la función Main () con dos variables de cadena inicialización.

La cadena S1 contiene más de 5 caracteres, y String S2 contiene solo 5. La función strncmp () se ha ejecutado con una función simple llamada pasar ambas variables a su argumento. El número de caracteres a combinar se establece en 5. La función strncmp () comparará ambas variables y devolverá el resultado particular. Como nuestra primera cadena es mayor en tamaño que el 2Dakota del Norte cadena y no coincide con 2Dakota del Norte cadena, por lo tanto, se ejecutará la parte "else-if" de la declaración para "i> 0". A cambio, mostrará que "S1 es mayor que S2" junto con el valor devuelto de "I" para varios personajes no coincidentes.

Después de ejecutar este código en el shell, tenemos el resultado como se esperaba, yo.mi. S1 es mayor que S2 por otro lado, el valor de "I" se devuelve como "32".

El código general para este ejemplo seguirá siendo el mismo que hemos hecho en el código anterior. El único cambio que tenemos aquí es el intercambio de valores de cadena entre sí. Ahora, String S2 es mayor en tamaño que String S1. En este caso, se debe ejecutar la última declaración más. Ejecutemos este código ahora.

Después de esta compilación y ejecución del código, hemos visto que la parte más del código se ha ejecutado después de la llamada de función strncmp (). Muestra que la primera cadena es de menor tamaño que la otra cadena, mientras que ninguno de los caracteres coincide exactamente.

Conclusión:

Por fin, hemos completado la explicación de la función strncmp () de C ++ para comparar dos cadenas. Hemos discutido el método strncmp () con diferentes tipos de cuerdas, yo.mi. uno mayor que el otro en tamaño, las mismas cuerdas y diferentes cuerdas. Hasta ahora se han utilizado las declaraciones simples y anidadas de "IF-Else" para hacer que nuestro código verifique las diferentes condiciones de las cadenas y los valores devueltos por un método strncmp (). Debido a la simplicidad de nuestros ejemplos, esperamos que le resulte fácil aprender e implementar.