ARDUINO STRCMP -Funktion

ARDUINO STRCMP -Funktion

Arduino wird mit C oder C ++ Sprache programmiert; Der größte Teil der Syntax beider Sprachen ist gleich. Funktionen, die in der C -Sprache verwendet werden. Lassen Sie uns herausfinden, wie das in Arduino IDE geht.

Strcmp () Funktion

Die Funktion STRCMP () in der Arduino -Programmierung vergleicht zwei verschiedene Zeichenfolgen und gibt drei Werte zurück, abhängig von den Zeichen innerhalb der Zeichenfolge. Die String -Vergleichsfunktion überprüft die ASCII -Werte der in beiden Zeichenfolgen vorhanden.

Das Strcmp () vergleicht sowohl Zeichenfolge 1 als auch Zeichenfolge 2 mit dem Zeichen des Zeichens. Es wird weiter vergleichen, bis es einen unterschiedlichen Charakter zwischen beiden Saiten findet. Wenn der erste Charakter beider Saiten gleich ist, bewegt sich er in Richtung des zweiten und verglichen weiter, bis er einen unterschiedlichen Charakter findet. Wenn nicht ein einzelner unterschiedlicher Zeichen gefunden wird, wird Null zurückgegeben.

Syntax

Die Syntax der Funktion von Strcmp () ist unten angegeben:

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

In der oben angegebenen Syntax sind String1 und String2 zwei Zeichenfolgen, deren Zeichen einzeln verglichen werden sollen.

Parameterwerte

Die Funktion STRCMP () nimmt zwei Parameter an:

  • String1: Zeiger auf die erste Zeichenfolge, die verglichen werden soll.
  • String2: Zeiger auf die zweite Zeichenfolge, die verglichen werden soll.

Rückgabewerte

Die Zeichen auf der Tastatur haben eindeutige ASCII -Werte, damit die STRCMP () Funktionen geben je nach String -Zeichen drei verschiedene Werte zurück:

  • Positiver Wert: Wenn die Zeichen von String 1 einen größeren ASCII -Wert haben als der erste unterschiedliche Zeichen von String 2.
  • Negativer Wert: Wenn die Zeichen von String 1 einen kleineren ASCII -Wert als das erste unterschiedliche Zeichen von String 2 haben.
  • Null: Wenn Zeichenfolge 1 und Zeichenfolge 2 gleich sind.

Diese Funktion verglichen jedes Zeichen in der Zeichenfolge mit jedem Zeichen einer anderen Zeichenfolge und wird fortgesetzt, bis ein unterschiedliches Zeichen vorhanden ist, das nur in einer Zeichenfolge vorhanden ist, die auf ASCII -Werten basiert.

Beispielcode

Die Funktion von STRCMP () funktioniert, indem sie die ASCII -Werte der Zeichen vergleichen. Als Referenz siehe Tabelle unten, haben wir zwei Zeichen genommen ich & u. Beide haben unterschiedliche ASCII -Werte mit "ich" 105 und u Wert gleich 117. Was bedeutet den ASCII -Wert von ich ist kleiner als u.

In ähnlicher Weise haben Großbuchstaben i und u ASCII -Wert, der einen größeren ASCII hat als ich.

ASCII -Charakter Dez VERHEXEN Oktober
ich 105 69 151
u 117 75 165

Lassen Sie uns unter Verwendung eines Beispiels erfahren, wie Strcmp () funktioniert.

void setup ()
int vergleich_result;
Serie.Beginnen Sie (9600); /*Baud Rate definieren*/
char* string1 = "LinuxHint"; /*String1 beginnt mit kleinem I (ASCII -Code 105 in Dezimalzahl)*///
char* string2 = "linuxhunt"; /*String2 beginnt mit kleinem U (ASCII -Code 117 in Dezimalzahl)*///
Vergleich_Result = Strcmp (String1, String2); /*Vergleiche beide Saiten*/
Serie.print ("Ausgabe nach dem Vergleich von zwei Zeichenfolgen =");
/*Gibt die negative Zahl der ASCII -Wert des Unvergleichszeichens von Zeichenfolge 2 zurück als Zeichenfolge 1*/
Serie.println (Vergleich_Result);

void Loop ()

In diesem Code definieren wir zuerst eine neue Variable Ausgang Um den Rückgabewert der Funktion von Strcmp () zu speichern. Dann haben wir die serielle Kommunikation initialisiert, indem wir die Baudrate definiert haben. Die nächsten zwei Saiten sind definiert.

Die Funktion von STRCMP () vergleichen beide Zeichenfolgen und speichert die Ausgabe in Variablen, die bei Start erstellt wurden. Drucken Sie die Ausgabe auf Seriennerien auf Serienmonitor aus.Println -Funktion wird verwendet.

Ausgang

Wir können die Ausgabe auf drei verschiedene Arten kategorisieren:

1. Wenn die Ausgabe positiv ist

Hier ist die Ausgabe positiv, da der ASCII -Wert von String 1 größer als Zeichenfolge 2 ist.

2. Wenn die Ausgabe negativ ist

Hier ist der Ausgang negativ, da der ASCII -Wert von String 1 kleiner als Zeichenfolge 2 ist.

3. Wenn die Ausgabe Null ist

Hier ist der Ausgang Null, da Zeichenfolge 1 gleich String 2 ist.

Notiz: Es sind auch mehrere andere Funktionen verfügbar, die zwei Zeichenfolgen vergleichen, wie z. B.:

  • String Equals () -Funktion.
  • Vergleiche () Funktion.
  • String -Vergleich Operatoren ().

Abschluss

Mit dieser Beschreibung können Sie die Arduino-Programmierkenntnisse verbessern und verbessern. Wenn jemand ein grundlegendes Verständnis der C/C ++ - Sprache hat, ist es einfach, das Arduino Board zu programmieren. Die Funktion STRCMP () vergleicht zwei verschiedene Zeichenfolgen und gibt entweder positive, negative oder null Zahlen zurück.