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.
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).
Vamos a ver un ejemplo para entender mejor cómo comparar cadenas con strcmp
:
/*
Comparar cadenas en C usando strcmp
https://parzibyte.me/blog
*/#include <stdio.h>
#include <string.h>
int main(void) {
printf("Comparar A y Z: %d\n", strcmp("A", "Z"));
printf("Comparar Z y A: %d\n", strcmp("Z", "A"));
printf("Comparar A y A: %d\n", strcmp("A", "A"));
return 0;
}
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:
Comparar A y Z: -1
Comparar Z y A: 1
Comparar A y A: 0
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.
/*
Comparar cadenas en C usando strcmp
https://parzibyte.me/blog
*/#include <stdio.h>
#include <string.h>
int main(void) {
if (strcmp("parzibyte", "parzibyte") == 0) {
printf("Las cadenas son iguales");
} else {
printf("Las cadenas NO son iguales");
}
return 0;
}
Invocamos al método strcmp
y comparamos su valor, si es 0
entonces ambas strings son iguales.
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.
En este post te quiero compartir un código de C++ para listar y cancelar trabajos…
Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…
Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…
Esta semana estuve recreando la API del plugin para impresoras térmicas en Android (HTTP a…
Hoy te enseñaré a extraer la cadena base64 de una clave PEM usando una función…
Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…
Esta web usa cookies.