Fonction arduino strcmpp

Fonction arduino strcmpp

Arduino est programmé en utilisant le langage C ou C ++; La plupart de la syntaxe de ces deux langues est la même. Les fonctions utilisées dans le langage C peuvent facilement être implémentées dans Arduino Programmation L'un d'eux est STRCMP qui compare deux caractères différents. Découvrons comment faire cela dans Arduino IDE.

fonction strcmp ()

La fonction strcmp () dans la programmation Arduino compare deux chaînes différentes et renvoie trois valeurs en fonction des caractères à l'intérieur de la chaîne. La fonction de compare de chaîne vérifie les valeurs ASCII des caractères présents dans les deux chaînes et renvoie un nombre positif, négatif ou zéro dans la sortie.

Le Strcmp () compare les deux caractères String 1 et String 2 par caractère. Il continuera de comparer jusqu'à ce qu'il trouve un caractère différent entre les deux cordes. Si le premier caractère des deux cordes est égal, il se déplacera vers le second et continuera de comparer jusqu'à ce qu'il trouve un caractère différent. Dans le cas où si ce n'est un seul caractère différent, zéro sera retourné.

Syntaxe

La syntaxe de la fonction strcmp () est donnée ci-dessous:

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

Dans la syntaxe indiquée ci-dessus String1 et String2, il y a deux chaînes dont les caractères doivent être comparés un par un.

Valeurs de paramètres

La fonction strcmp () prend deux paramètres:

  • String1: pointeur vers la première chaîne qui doit être comparée.
  • String2: pointeur vers la deuxième chaîne qui doit être comparée.

Valeurs de retour

Les caractères sur le clavier ont des valeurs ASCII uniques, donc le strcmp () Les fonctions renvoient trois valeurs différentes en fonction des caractères de chaîne:

  • Valeur positive: Si les caractères de String 1 ont une plus grande valeur ASCII que le premier caractère différent de String 2.
  • Valeur négative: Si les caractères de String 1 ont une valeur ASCII plus petite que le premier caractère différent de String 2.
  • Zéro: Si la chaîne 1 et la chaîne 2 sont égales.

Cette fonction comparera chaque caractère de la chaîne avec chaque caractère d'une autre chaîne et se poursuivra jusqu'à ce qu'il arrive tout caractère différent qui est présent dans une seule chaîne basée sur les valeurs ASCII.

Exemple de code

La fonction strcmp () fonctionne en comparant les valeurs ASCII des caractères, pour référence, voir le tableau ci-dessous, nous avons pris deux caractères je & u. Les deux ont des valeurs ASCII différentes avec "je" avoir 105 et u valeur égale à 117. Ce qui signifie la valeur ASCII de je est plus petit que u.

De même, des lettres majuscules I et U auront une valeur ascii ayant u.

Personnage ASCII DÉC Hexagonal OCT
je 105 69 151
u 117 75 165

En utilisant un exemple, apprenons comment fonctionne strcmp ().

void setup()
int comparaison_result;
En série.commencer (9600); / * Définir le taux de bauds * /
char * string1 = "linuxhint"; / * String1 commence par un petit i (code ASCII 105 en décimal) * /
char * string2 = "linuxhunt"; / * String2 commence par un petit u (code ASCII 117 en décimal) * /
Comparaison_result = strcmp (string1, string2); / * Comparez les deux chaînes * /
En série.print ("sortie après avoir comparé deux chaînes =");
/ * Va renvoyer le nombre négatif La valeur ASCII du caractère sans correspondance de la chaîne 2 est supérieur à la chaîne 1 * /
En série.println (comparaison_result);

VOID LOOP ()

Dans ce code, nous définissons d'abord une nouvelle variable sortir Pour stocker la valeur de retour de la fonction strcmp (). Ensuite, nous avons initialisé la communication série en définissant le taux de bauds. Les deux chaînes suivantes sont définies.

La fonction strcmp () comparera les deux chaînes et stockera la sortie dans les variables créées au début. Pour imprimer la sortie sur la série de moniteur série.La fonction println est utilisée.

Sortir

Nous pouvons classer la sortie de trois manières différentes:

1. Lorsque la sortie est positive

Ici, la sortie est positive car la valeur ASCII de la chaîne 1 est supérieure à la chaîne 2.

2. Lorsque la sortie est négative

Ici, la sortie est négative car la valeur ASCII de la chaîne 1 est inférieure à la chaîne 2.

3. Lorsque la sortie est nul

Ici, la sortie est zéro car la chaîne 1 est égale à la chaîne 2.

Note: Plusieurs autres fonctions sont également disponibles qui comparent deux chaînes telles que:

  • String equals () Fonction.
  • Fonction compareto ().
  • Opérateurs de comparaison de cordes ().

Conclusion

Cet article vous aidera à améliorer et à améliorer les compétences en programmation Arduino. Si quelqu'un a une compréhension de base de la langue C / C ++, il sera facile de programmer la carte Arduino. La fonction strcmp () compare deux chaînes différentes et renvoie des nombres positifs, négatifs ou zéro.