Arduino Sscanf () Funktion
In der Arduino -Programmierung können wir Symbole, Zeichen, Zahlen oder andere Daten in einer Zeichenfolge speichern. Um die Daten aus einer Zeichenfolge zu lesen, verwenden wir die sscanf () Funktion; Es liest nicht nur die Daten, sondern kann sie auch in einer neuen Variablen speichern. Im Allgemeinen werden in C -Programmierdaten mit Verwendung gelesen Scanf () Mit dieser Funktion können wir jedoch nur Daten mit der Konsole lesen. Wenn man eine Eingabe aus der String oder einem anderen Text lesen möchte.
Syntax
Um Daten aus einer Zeichenfolge zu lesen, müssen wir wissen, wie die Funktion funktioniert. Unten finden Sie die Syntax der Sscanf () -Funktion.
int sscanf (char *data, char *format, storple_variables);Im obigen Code repräsentiert das erste Argument die Eingabe, die die Zeichen- oder String -Array -Daten enthält, die unter Verwendung des im zweiten Arguments definierten Formats gelesen werden sollen. Wir können verfügbare Daten in verschiedenen Variablen auflisten, indem wir das Format im zweiten Argument definieren.
Parameter
Formatspezifizierer
Der sscanf () Funktion verwendet unterschiedliche Formatspezifizierer, die Daten auf eine bestimmte Weise speichern können. Es ist ein einzigartiger Satz von Zeichen, dem % Sign anschließend relevante Zeichensymbole vorangegangen ist. Die folgenden Symbole werden im Allgemeinen verwendet:
Symbol | Typ |
S | Saite |
C | Single Char |
D | Dezimaler int |
e, e, f, g, g | Schwebende Punkte |
U | Unsigned int |
x, x | Hexadezimal num |
Rückgabewert
Beispiele
Jetzt, da wir die Syntax und das Arbeiten der SSCANF () -Funktion kennen, nehmen wir ein Beispiel, um sie besser zu verstehen.
1. Lesen eines Elements des gleichen Typs
Das erste Beispiel erklärt, wie wir nur eine einzelne Datentypeingabe aus einer Zeichenfolge lesen und in einer neuen Variablen speichern können.
Code
void setup ()Hier in diesem Code beginnen wir zuerst die serielle Kommunikation, um Ergebnisse auf dem Serienmonitor zu drucken. Als nächstes wird ein Char -Array unter Verwendung einer Variablen definiert Puffer. Die Länge des Arrays ist auf 10 eingestellt, was entsprechend variieren kann. Eine neue Variable wird initialisiert, wodurch die Gesamtzahl der gelesenen Eingänge gespeichert wird.
Als nächstes mit dem sscanf () Funktionszeichenfolge wird in einer neuen Variablen gespeichert input_string. Hier in Sscanf () verwenden wir einen Formatspezifizierer %S Weil es nur Saiten als Eingabe liest. Beide Ergebnisse werden auf dem Serienmonitor gedruckt.
Ausgang
Die Ausgabe zeigt, dass eine Zeichenfolge als Eingabe genommen und in einer neuen Variablen gespeichert wird input_string.
2. Lesen Sie mehrere Elemente verschiedener Typen
In diesem Beispiel wird erklärt, wie SSCANF () Daten von mehreren Datentypen aus einer einzelnen Eingabezeichenfolge entnimmt.
Code
void setup ()Im obigen Code haben wir a erstellt Daten Variable, die die angegebene Zeichenfolge speichern kann. Drei verschiedene Variablendaten, Jahr und Monat speichern die Leseeingabe aus der Zeichenfolge separat. Monat Variable wird mit einer Größe von 10 initialisiert, die entsprechend geändert werden kann.
Nächste sscanf () Die Funktion lesen die Daten aus der Eingabe und speichern sie in drei verschiedenen Variablen. Als Datum und Jahr sind beide einen Ganzzahlwert so %D Symbol wird zusammen mit Nummer 2 und 4 verwendet, was darstellt, wie viele Zahlen wir lesen möchten. Der %S Symbol wird mit Monat verwendet, der Zeichen zurückgibt, bis ein Weißraum kommt.
Wenn es keinen Platz zwischen den Daten gibt, können wir verwenden %C zusammen mit einer Nummer, die die Anzahl der Zeichen darstellt, die wir lesen möchten. Alle gelesenen Daten werden separat verwendet Serie.println ().
Ausgang
Die Ausgabe zeigt die Eingangszeichenfolge an. SSCANF () lesen Daten und speichern sie in separaten drei Variablen.
Abschluss
Im Allgemeinen lesen wir während der Programmierung in der C -Sprache die Eingabe vom Benutzer mithilfe von Scanf () -Funktion, aber nur auf die Konsole beschränkt. Lesen Sie Daten aus einer definierten Zeichenfolge und speichern Sie sie separat in mehreren von uns verwendeten Variablen sscanf () Funktion bei der Arduino -Programmierung. Diese Beschreibung hilft Ihnen beim Verständnis sscanf () und Daten aus definierten Zeichenfolgen lesen.