Arduino strtok

Ammar Ali 12 ottobre 2023
Arduino strtok

In questo tutorial, discuteremo la tokenizzazione di una stringa utilizzando la funzione strtok() presente in Arduino.

Tokenizzare una stringa usando la funzione strtok() in Arduino

Considera, hai un char array di nomi di animali separati da una virgola e vuoi separare ogni nome dal char array. In questo caso, puoi usare la funzione strtok() per separare i nomi degli animali dal char array. La funzione strtok() accetta due variabili come input. La prima variabile è di tipo char in cui sono memorizzati i nomi degli animali, e la seconda variabile è un delimitatore per la separazione come una virgola. Questa funzione restituisce una variabile di tipo char separata in base a un delimitatore. Ad esempio, supponiamo di dover separare il nome di un animale da una lista di nomi di animali.

void setup() {
  char AnimalNames[] = "Bog,Cat";
  char firstName = strtok(AnimalNames, ",");
}

Nel codice sopra, i nomi degli animali sono memorizzati nella variabile AnimalNames di tipo char, e il risultato sarà memorizzato nella variabile firstName di tipo char. È possibile modificare le variabili in base alle variabili fornite. Consideriamo ora un altro esempio, vogliamo estrarre tutti i nomi degli animali presenti in una lista e stamparli sul monitor seriale di Arduino. Per fare questo, dobbiamo usare un bucle che itererà la lista finché non sarà vuoto.

char AnimalNames[] = "dog,cat,donkey,horse";
char *name = NULL;
void setup() {
  name = strtok(AnimalNames, ",");
  Serial.begin(9600);
  while (name != NULL) {
    Serial.println(name);
name = strtok(NULL, ",");
  }
}

Nel codice sopra, i nomi degli animali sono memorizzati nella variabile AnimalNames di tipo char e il risultato sarà memorizzato nella variabile name di tipo char. È possibile modificare le variabili in base alle variabili fornite. I nomi degli animali verranno visualizzati sul monitor seriale utilizzando la funzione Serial.print().

Autore: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Articolo correlato - Arduino String