Arduino – string – Textzeichenfolgen

Zeichenfolgen (string, mit Kleinbuchstaben) sind Zeichenarrays, die zum Speichern von Text verwendet werden, wie im vorherigen Abschnitt beschrieben. Diese Texte können dann in unserem Arduino-Programm für andere Interaktionen verwendet werden, z. B. Speichern von Zeichen, die von einer Tastatur gelesen oder auf einen seriellen Monitor oder LCD geschrieben wurden.

Es kann anhand der folgenden Beispiele deklariert werden. Das letzte Element der Zeichenarrays ist ‚\ 0‘ (Null), von wo aus der Compiler das Ende der Zeichenfolge erkennt. Wenn wir nicht Null eingeben, erledigt der Compiler dies für uns. Zeichen müssen zwischen Apostrophen in Arrays geschrieben werden.

char myString[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '
char myString[] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '\0'};
char myString[12] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'};
'}; char myString[12] = {'H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'};

Das string-Array ist z.B. kann mit Serial.println () auf den seriellen Monitor gedruckt werden.

Serial.println(myString);

Wir können die obige Zeichenfolge im Array auch einfacher und transparenter beschreiben. Zeichenfolgen müssen in Anführungszeichen gesetzt werden.

char myString[] = "Hello World";
char myString[] = 
   "Erste Reihe"
   "Zweite Reihe"
   "Dritte";

Können wir den Inhalt eines string-Arrays zur Laufzeit wie im folgenden Beispiel ändern. Zuerst geben wir die nachfolgende Null in Index 5 des ursprünglichen String-Arrays ein und löschen dabei den zweiten Teil des strings, den Leerzeiche und „World“, dann fügen wir neue Zeichen aus Index 5 hinzu.

char myString[] = "Hello World";

void setup() 
{
  Serial.begin(9600);
  Serial.println(myString);

  myString[5] = 0;
  Serial.println(myString);

  myString[5] = ' ';
  myString[6] = 'A';
  myString[7] = 'r';
  myString[8] = 'd';
  myString[9] = 'u';
  myString[10] = 'i';
  myString[11] = 'n';
  myString[12] = 'o';
  myString[13] = 0;
  Serial.println(myString);
}
void loop() 
{

}

Können wir auch einige integrierte Funktionen für Zeichenfolgen verwenden. Wir können das String-Array mit diesen „C“ -Funktionen bearbeiten, aber wir können auch Informationen darüber erfahren.

Verwenden Sie den Operator sizeof (), um die Länge des Arrays zu ermitteln, das die Zeichenfolge enthält. Die Länge enthält die Null, die das Array beendet, sodass seine Länge eins mehr ist als die Länge der Zeichenfolge.

Serial.println(sizeof(myString));

Verwenden Sie die Funktion strlen (), um die Länge des Strings zu ermitteln. Die Zeichenfolgenlänge gilt nur für druckbare Zeichen und enthält nicht die Null, die das Array beendet.

Serial.print(strlen(myString));

Die Funktion strcpy () hat zwei Parameter. Der erste kopiert den Inhalt des zweiten Parameters in den erste Parameter. Auf diese Weise können Sie die Zeichenfolge in ein größeres Array kopieren und später eine weitere Zeichenfolge anhängen.

strcpy(myNewString, myString);
Serial.println(myNewString);

Mit der Funktion strcat () können Sie zwei Zeichenfolgen verketten. Die Funktion strcat () hängt die Zeichenfolge im zweiten Parameter an das Ende der Zeichenfolge im ersten Parameter an. Stellen Sie sicher, dass die Größe des im ersten Parameter übergebenen Arrays ausreicht, um beide Zeichenfolgen zu speichern.

strcat(myNewString, " Hängt diese string an");

Im nächsten Abschnitt werden wir uns mit der Verwendung des viel effizienteren Arduino String () -Objekts befassen.