Семейство функций scanf
do simple pattern pattern. Поэтому вы можете сделать что-то вроде
sscanf(str, "\"mac\" : \"%[^\"]\"", second_string);
Формат "%[^"
соответствует всему , за исключением символов перед закрывающим "]"
.
Для более общего решения вы можете найти разделяющий ':'
(например, с strchr
) и проанализировать только последнюю часть строки (после ':'
).
Чтобы быть еще более общим, пропустите двоеточие и все пробелы (с циклом и isspace
), что оставит вам только "\"11:22:33:44:55:66\""
для анализа. И это можно сделать, используя формат "%[^"
, как показано выше.