• Как спарсить строку с выбором вариантов на C++ Builder?

    Общий подход предлагаю такой. Заводите std::vector<std::vector<std::string>>. Каждый внутренний вектор хранит варианты выбора для очередного куска строки. В частности, для кусков строки между вариативными частями будем считать, что есть всего 1 вариант выбора. Соответственно, весь вектор векторов — это последовательность таких вариативных частей. Задача делится на 2 части:

    1. Парсинг входной строки в нашу структуру. Парсим в цикле, вытаскивая из исходной строки по 1 символу, и аккумулируем в промежуточное состояние. Нам понадобится std::string для текущего варианта и std::vector<std::string> для текущей вариативной части.

    2. Самое простое, когда наш вектор векторов заполнен, создаём пустой std::string, и накидываем туда из каждого внутреннего вектора по 1 варианту.
    Ответ написан
    Комментировать