Función strcmp de Arduino
En este tutorial, discutiremos la comparación de dos cadenas usando la función strcmp()
en Arduino.
Función strcmp()
de Arduino
La función strcmp()
compara dos cadenas en Arduino. La función strcmp()
compara los valores ASCII de los caracteres presentes en las dos cadenas y luego devuelve tres tipos de valores de salida dependiendo de los valores ASCII de los caracteres.
Los caracteres de un teclado tienen valores ASCII únicos, como el valor ASCII del carácter a
es 65
. A continuación se muestra la sintaxis básica de la función strcmp()
.
output = strcmp(string1, string2);
La sintaxis anterior devolverá 0
si todos los caracteres presentes en las dos cadenas son iguales, devolverá un número negativo si el carácter de la primera cadena que no coincide con el carácter de la segunda cadena tiene un valor ASCII más bajo que el carácter presente en la segunda cadena, y devolverá un número positivo si el carácter no coincidente de la primera cadena tiene un valor ASCII mayor que el carácter de la segunda cadena.
Si la diferencia de valores ASCII de los dos primeros caracteres es cero, la función strcmp()
pasará a los siguientes caracteres y así sucesivamente, y cuando se hayan comparado todos los caracteres, también devolverá 0
, que indicar que las dos cadenas son iguales.
Si el valor ASCII de dos caracteres no es igual a cero, la función se detendrá y devolverá la diferencia de valores ASCII de los caracteres actuales que no coinciden.
Por ejemplo, definamos dos cadenas de caracteres iguales y comparémoslas usando la función strcmp()
en Arduino.
Vea el código a continuación.
int output;
void setup() {
char* string1 = "hello";
char* string2 = "hello";
output = strcmp(string1, string2);
Serial.begin(9600);
Serial.println(output);
}
void loop() {}
Producción :
0
Las entradas de la función strcmp()
deben ser una cadena de caracteres constante. En el código anterior, usamos el monitor serial de Arduino para mostrar la salida de la función strcmp()
.
La función Serial.begin()
se usa para inicializar el monitor serie, y la función Serial.println()
imprime el valor dado en la ventana del monitor serie.
También podemos usar la salida de la función strcmp()
en una declaración condicional como la declaración if
para realizar una tarea específica como si la salida es igual a cero, podemos imprimir en el monitor serie que las dos cadenas son igual.
También podemos usar otras funciones de Arduino para comparar dos cadenas como la función compareTo()
y equals()
. Consulte este enlace para obtener más detalles sobre la comparación de cadenas en Arduino.