Arduino strcmp-Funktion
In diesem Tutorial werden wir den Vergleich zweier Strings mit der Funktion strcmp()
in Arduino diskutieren.
Arduino-Funktion strcmp()
Die Funktion strcmp()
vergleicht zwei Strings in Arduino. Die Funktion strcmp()
vergleicht die ASCII-Werte der in den beiden Zeichenketten vorhandenen Zeichen und gibt dann drei Arten von Ausgabewerten zurück, abhängig von den ASCII-Werten der Zeichen.
Die Zeichen auf einer Tastatur haben eindeutige ASCII-Werte, so wie der ASCII-Wert des Zeichens a
65
ist. Nachfolgend finden Sie die grundlegende Syntax der Funktion strcmp()
.
output = strcmp(string1, string2);
Die obige Syntax gibt 0
zurück, wenn alle Zeichen in den beiden Zeichenfolgen gleich sind, sie gibt eine negative Zahl zurück, wenn das Zeichen in der ersten Zeichenfolge, das nicht mit dem Zeichen der zweiten Zeichenfolge übereinstimmt, einen niedrigeren ASCII-Wert hat als das Zeichen in der zweiten Zeichenfolge, und es wird eine positive Zahl zurückgegeben, wenn das nicht übereinstimmende Zeichen der ersten Zeichenfolge einen größeren ASCII-Wert hat als das Zeichen der zweiten Zeichenfolge.
Wenn die Differenz der ASCII-Werte der ersten beiden Zeichen Null ist, geht die Funktion strcmp()
zu den nächsten Zeichen und so weiter, und wenn alle Zeichen verglichen wurden, gibt sie auch 0
zurück, was der Fall ist zeigen an, dass die beiden Saiten gleich sind.
Wenn der ASCII-Wert von zwei Zeichen nicht gleich Null ist, stoppt die Funktion und gibt die Differenz der ASCII-Werte der aktuellen nicht übereinstimmenden Zeichen zurück.
Lassen Sie uns zum Beispiel zwei gleiche Zeichenfolgen definieren und sie mit der Funktion strcmp()
in Arduino vergleichen.
Siehe Code unten.
int output;
void setup() {
char* string1 = "hello";
char* string2 = "hello";
output = strcmp(string1, string2);
Serial.begin(9600);
Serial.println(output);
}
void loop() {}
Ausgabe:
0
Die Eingaben der Funktion strcmp()
sollten eine konstante Zeichenkette sein. Im obigen Code haben wir den seriellen Monitor von Arduino verwendet, um die Ausgabe der Funktion strcmp()
anzuzeigen.
Die Funktion Serial.begin()
wird verwendet, um den seriellen Monitor zu initialisieren, und die Funktion Serial.println()
druckt den angegebenen Wert im Fenster des seriellen Monitors.
Wir können die Ausgabe der Funktion strcmp()
auch in einer bedingten Anweisung wie der if
-Anweisung verwenden, um eine bestimmte Aufgabe auszuführen, z. B. wenn die Ausgabe gleich Null ist, können wir auf dem seriellen Monitor ausgeben, dass die beiden Zeichenfolgen sind gleich.
Wir können auch andere Funktionen von Arduino verwenden, um zwei Strings zu vergleichen, wie die Funktion compareTo()
und equals()
. Überprüfen Sie diesen Link für weitere Details zum String-Vergleich in Arduino.