#include <iostream>
#include <string.h>
int main()
{
char const trame[] = "ACTION=24:6F:28:38:D1:A4:ON";
char type[21];
uint8_t addr[6];
char valeur[21];
if (sscanf(trame, "%20[^ =]%*[ =]%hhx:%hhx:%hhx:%hhx:%hhx:%hhx:%20s", type, &addr[0], &addr[1], &addr[2], &addr[3], &addr[4], &addr[5], valeur) == 8)
{
printf("type: %s\n", type);
printf("addresse: %hhx:%hhx:%hhx:%hhx:%hhx:%hhx\n", addr[0], addr[1], addr[2], addr[3], addr[4], addr[5]);
printf("valeur: %s\n", valeur);
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nLmg+CgppbnQgbWFpbigpCnsKCWNoYXIgY29uc3QgdHJhbWVbXSA9ICJBQ1RJT049MjQ6NkY6Mjg6Mzg6RDE6QTQ6T04iOwoKCWNoYXIgdHlwZVsyMV07Cgl1aW50OF90IGFkZHJbNl07CgljaGFyIHZhbGV1clsyMV07CgoJaWYgKHNzY2FuZih0cmFtZSwgIiUyMFteID1dJSpbID1dJWhoeDolaGh4OiVoaHg6JWhoeDolaGh4OiVoaHg6JTIwcyIsIHR5cGUsICZhZGRyWzBdLCAmYWRkclsxXSwgJmFkZHJbMl0sICZhZGRyWzNdLCAmYWRkcls0XSwgJmFkZHJbNV0sIHZhbGV1cikgPT0gOCkKCXsKCQlwcmludGYoInR5cGU6ICVzXG4iLCB0eXBlKTsKCQlwcmludGYoImFkZHJlc3NlOiAlaGh4OiVoaHg6JWhoeDolaGh4OiVoaHg6JWhoeFxuIiwgYWRkclswXSwgYWRkclsxXSwgYWRkclsyXSwgYWRkclszXSwgYWRkcls0XSwgYWRkcls1XSk7CgkJcHJpbnRmKCJ2YWxldXI6ICVzXG4iLCB2YWxldXIpOwoJfQoJCglyZXR1cm4gMDsKfQ==