Parzibyte's blog

Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.

Comparar cadenas en C usando strcmp

En este post veremos cómo saber si dos cadenas son iguales en ANSI C, ya que no podemos usar simplemente el operador == para comparar cadenas, pues son una cosa compleja.

Vamos a ver cómo usar strcmp para comparar cadenas en C y saber si ambas son iguales, ya que los strings en realidad son un conjunto de caracteres dentro de ANSI C.

Función strcmp en C

Al igual que en PHP, en C existe la función strcmp que quiere decir “string compare”. Esta función puede devolver 0, un número mayor que 0, o un número menor que 0.

Lo sé, suena confuso pero veamos.

La función strcmp devolverá 0 si las cadenas son iguales. En caso de que la primera sea “menor” que la segunda, devolverá un número negativo, y finalmente si la primera es mayor que la segunda, devolverá un número positivo.

Usualmente estos números son 0, -1 y 1, pero podemos hacer las comparaciones basándonos en el 0 (es decir, si es menor que cero, igual que cero o mayor que cero).

Comparar cadenas en C usando strcmp

Vamos a ver un ejemplo para entender mejor cómo comparar cadenas con strcmp:

Con mayor y menor me refiero a que, según el alfabeto, la letra aparece antes o después. La salida al ejecutar el programa es:

Puedes probar el ejemplo aquí.

Saber si dos cadenas son iguales usando strcmp

Ahora sí a lo que venimos. Vamos a ver cómo saber si dos cadenas son iguales en C; para esto simplemente hay que comparar el valor que devuelve la función; si es 0 entonces las cadenas son iguales.

Invocamos al método strcmp y comparamos su valor, si es 0 entonces ambas strings son iguales.

Puedes probar el ejemplo aquí.

Ahora que ya sabes cómo se usa strcmp, puedes ver un ejercicio en C sobre la búsqueda binaria. También te invito a ver otros ejemplos de código en C.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.


Deja un comentario

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