C/C++

Задание по си

Если не решить то хотя бы подскажите в какую сторону мыслить.
Задание:
Даны две символьные строки. Первая строка содержит пары "слово - синоним". Во второй строке заменить все слова на их синонимы, если такие найдены.
Надо бы определить синтаксис этих пар почётче.
Примеры:
 большой - охрененный; неудачник - шлемазл; тупой - глупый

большой охрененный\nнеудачник шлемазл\nтупой глупый
А дальше делим строку сплитом по разделителю пар, пару делим по разделителю слов, складываем результат в map (первое слово из пары - ключ, второе - значение).

Если у второй строки чёткий синтаксис (например, только слова и по одному пробелу или др. разделителю между ними), то её тоже делим сплитом (strtok), каждый элемент получившегося списка обрабатываем раздельно, и потом склеиваем список обратно в строку.
Но если там между словами пунктуация, форматирование и всякая хрень, тогда придётся бежать по строке, т.е. нарисовать какое-то подобие лексического сканнера. Алгоритм такой: находим начало и конец слова (начало - это буква после последовательности небукв, конец - это небуква после последовательности букв; также учесть, что строка может начинаться с буквы или с небуквы). Лукапим слово в созданном ранее словаре (map), и если нашлось, то достаём значение, вырезаем слово из обрабатываемой строки и вместо него вставляем синоним. Длина строки при этом может измениться.
Поскольку это Си, то закат Солнца выполняется вручную - все сплиты придётся самому писать.
Чтобы избежать стандартного сишного геморроя по двиганию байтов в строке туда-сюда, можно результат собирать в массив, где попеременно пойдут заменённые слова и всё, что между ними. А в конце собрать этот массив в итоговую строчку.
АА
Андрей Алексеев
54 053
Лучший ответ
Вячеслав Алещенков ну вот через тире, написал как в задании. И я думаю этим можно воспользоваться, так как пары в условии стоят в кавычках, и это можноо использовать, что типо все пары в кавычках, через тире
Вячеслав Алещенков а какие функции ты в своей идее испольуешь, а то поидее нам надо все это делать циклами, и миллионом переменными, поэтому я их ососбо не знаю