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().
