1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| const int LONGUEUR_STRING_MAX = 100; // taille maxi de l'objet String
const int LONGUEUR_ITEM_MAX = 20; // nbr de caractères maxi de l'item
const int NBR_ITEMS_MAX = 10; // nbr d'items maxi
void setup() {
Serial.begin(115200);
String str = "red,255,0,0"; // on suppose qu'on dispose d'un objet String au départ
char delimiter[] = ","; // délimiteur
char *item[NBR_ITEMS_MAX]; // tableau des éléments découpés
char text[LONGUEUR_STRING_MAX];
str.toCharArray(text, sizeof(text)); // copie dans un tableau de char
int nbr_items = 0;
char* token = strtok(text, delimiter);
while (token != nullptr && nbr_items < NBR_ITEMS_MAX)
{
item[nbr_items++] = token;
token = strtok(nullptr, delimiter);
}
// affichage des items pour vérifier
for (int i = 0; i < nbr_items; i++) {
Serial.println(item[i]);
}
}
void loop() {
// code principal, en boucle infinie
} |