Arduino strtok

Ammar Ali 12 outubro 2023
Arduino strtok

Neste tutorial, discutiremos a tokenização de uma string usando a função strtok() presente no Arduino.

Tokenizar uma string usando a função strtok() no Arduino

Considere que você tem um char array de nomes de animais separados por uma vírgula e deseja separar cada nome do char array. Neste caso, você pode usar a função strtok() para separar os nomes dos animais do char array. A função strtok() recebe duas variáveis ​​como entrada. A primeira variável é do tipo char em que os nomes dos animais são armazenados, e a segunda variável é um delimitador de separação como uma vírgula. Esta função retorna uma variável do tipo char separada com base em um delimitador. Por exemplo, suponha que precisamos separar o primeiro nome de um animal de uma lista de nomes de animais.

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

No código acima, os nomes dos animais são armazenados na variável AnimalNames do tipo char, e o resultado será armazenado na variável firstName do tipo char. Você pode alterar as variáveis ​​de acordo com as variáveis ​​fornecidas. Agora considere outro exemplo, queremos extrair todos os nomes dos animais presentes em uma lista e imprimi-los no monitor serial do Arduino. Para fazer isso, temos que usar um loop que irá iterar a lista até que esteja vazia.

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, ",");
  }
}

No código acima, os nomes dos animais são armazenados na variável AnimalNames do tipo char e o resultado será armazenado na variável name do tipo char. Você pode alterar as variáveis ​​de acordo com as variáveis ​​fornecidas. Os nomes dos animais serão exibidos no monitor serial usando a função Serial.print().

Autor: 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

Artigo relacionado - Arduino String