Función Arduino STRCMP

Función Arduino STRCMP

Arduino se programa usando el lenguaje C o C ++; La mayor parte de la sintaxis de ambos idiomas es la misma. Las funciones utilizadas en el lenguaje C se pueden implementar fácilmente en la programación de Arduino, una de ellas es STRCMP, que compara dos caracteres de cadenas diferentes. Descubra cómo hacer esto en Arduino IDE.

función strcmp ()

La función strcmp () en la programación Arduino compara dos cadenas diferentes y devuelve tres valores dependiendo de los caracteres dentro de la cadena. La función de comparación de cadena verifica los valores ASCII de los caracteres presentes en ambas cadenas y devuelve un número positivo, negativo o cero en la salida.

El strcmp () compara el carácter de la cadena 1 y la cadena 2 por carácter. Seguirá comparando hasta que encuentre un carácter diferente entre ambas cuerdas. Si el primer carácter de ambas cuerdas es igual, se moverá hacia el segundo y seguirá comparando hasta que encuentre un carácter diferente. En caso de que, si no se encuentra un solo carácter diferente, se devolverá cero.

Sintaxis

La función de sintaxis de strcmp () se da a continuación:

int strcmp (const char * string1, const char * string2);

En la sintaxis indicada anteriormente, String1 y String2 hay dos cadenas cuyos caracteres deben ser comparados uno por uno.

Valores paramétricos

La función strcmp () toma dos parámetros:

  • string1: puntero a la primera cadena que se compara.
  • string2: puntero a la segunda cadena que se compara.

Valores de devolución

Los caracteres en el teclado tienen valores ASCII únicos para que los strcmp () Las funciones devuelven tres valores diferentes dependiendo de los caracteres de la cadena:

  • Valor positivo: Si los caracteres de la cadena 1 tienen un valor ASCII mayor que el primer carácter diferente de String 2.
  • Valor negativo: Si los caracteres de la cadena 1 tienen un valor ASCII más pequeño que el primer carácter diferente de la cadena 2.
  • Cero: Si la cadena 1 y la cadena 2 son iguales.

Esta función comparará cada carácter de la cadena con cada carácter de otra cadena y continuará hasta que llegue cualquier carácter diferente que esté presente en una sola cadena basada en valores ASCII.

Código de ejemplo

La función strcmp () funciona comparando los valores ASCII de los caracteres, como referencia, ver la tabla a continuación, hemos tomado dos caracteres i Y u. Ambos tienen diferentes valores ASCII con "i" tener 105 y u valor igual a 117. Lo que significa el valor ascii de i es más pequeña que u.

Del mismo modo, las letras mayúsculas I y U tendrán un valor ASCII teniendo su mayor ascii que yo.

Carácter ascii DIC MALEFICIO OCT
i 105 69 151
u 117 75 165

Usando un ejemplo, aprendamos cómo funciona strcmp ().

setup () void
int comparación_result;
De serie.comenzar (9600); /*Defina la tasa de baudios*/
char* string1 = "Linuxhint"; /*String1 comienza con pequeño I (código ASCII 105 en decimal)*/
char* string2 = "Linuxhunt"; /*String2 comienza con pequeño U (código ASCII 117 en decimal)*/
Comparación_result = strcmp (string1, string2); /*Compare ambas cuerdas*/
De serie.imprimir ("salida después de comparar dos cadenas =");
/*Devolverá el número negativo el valor ASCII del carácter de desgaste de la cadena 2 es mayor que la cadena 1*/
De serie.println (comparación_result);

bucle void ()

En este código primero definimos una nueva variable producción Para almacenar el valor de retorno de la función strcmp (). Luego inicializamos la comunicación en serie definiendo la tasa de baudios. Se definen las siguientes dos cuerdas.

La función strcmp () comparará ambas cadenas y almacenará la salida en variables creadas al inicio. Para imprimir la salida en serie serial.Se utiliza la función println.

Producción

Podemos clasificar la salida de tres maneras diferentes:

1. Cuando la salida es positiva

Aquí la salida es positiva porque el valor de ASCII de cadena 1 es mayor que la cadena 2.

2. Cuando la salida es negativa

Aquí la salida es negativa porque la cadena 1 El valor ASCII es más pequeño que la cadena 2.

3. Cuando la salida es cero

Aquí la salida es cero porque la cadena 1 es igual a la cadena 2.

Nota: También hay varias otras funciones disponibles que comparan dos cadenas, como:

  • Función de string igual ().
  • función comparé ().
  • Operadores de comparación de cadenas ().

Conclusión

Este artículo lo ayudará a mejorar y mejorar las habilidades de programación de Arduino. Si alguien tiene una comprensión básica del lenguaje C/C ++, será fácil programar la Junta de Arduino. La función strcmp () compara dos cadenas diferentes y devuelve números positivos, negativos o cero.