проверка строки на содержание слова

У меня есть такая строка:

двигатель:255b

Как проверить, есть ли в строке слово (engine)?

А как мне получить int 255?

Пожалуйста, помогите мне)

, 👍-1


1 ответ


1

Я бы использовал strtok() и разделил строку на :. Затем просто сравнил бы содержимое первого извлеченного сегмента строки со словом "engine".

char *str = "engine:255b"; // например

char *part1 = strtok(str, ":"); // Получаем часть до первого двоеточия
char *part2 = strtok(NULL, ":"); // Получить часть до следующего двоеточия или конца строки

if ((part1 != NULL) && (part2 != NULL)) { // Двоеточие найдено, и строка разделена
    if (!strcmp(part1, "engine")) { // возвращает 0, если строки равны
        analogWrite(10, atoi(part2)); // Преобразуем вторую часть в целое число и используем ее.
    }
}
,