Как разделить строку до и после определённого символа?

В C++ есть несколько способов разделить строку на подстроки до и после определенного символа. Один из наиболее распространенных способов - использовать классы и функции из стандартной библиотеки C++. Вот пример кода, который выполняет разделение строки на подстроки:

#include <iostream>
#include <string>

int main() {
    std::string fullString = "Hello, World!";
    char delimiter = ',';

    // Ищем позицию разделителя в строке
    size_t delimiterPosition = fullString.find(delimiter);

    if (delimiterPosition != std::string::npos) {
        // Получаем подстроку до разделителя
        std::string substringBeforeDelimiter = fullString.substr(0, delimiterPosition);

        // Получаем подстроку после разделителя
        std::string substringAfterDelimiter = fullString.substr(delimiterPosition + 1);

        // Выводим результат
        std::cout << "Строка до разделителя: " << substringBeforeDelimiter << std::endl;
        std::cout << "Строка после разделителя: " << substringAfterDelimiter << std::endl;
    } else {
        // Если разделитель не найден, выводим сообщение об ошибке
        std::cout << "Разделитель не найден!" << std::endl;
    }

    return 0;
}

В этом примере мы создаем переменную fullString, содержащую исходную строку, и переменную delimiter, содержащую символ, по которому мы хотим разделить строку (в этом случае - запятую). Затем мы используем функцию find() из класса std::string, чтобы найти позицию разделителя в строке. Если разделитель найден, мы используем функцию substr() для извлечения подстроки до разделителя и после него.

Вывод программы будет следующим:

Строка до разделителя: Hello
Строка после разделителя: World!

Если разделитель не найден в строке, выводится сообщение об ошибке. Таким образом, этот код позволяет разделить строку до и после определенного символа в C++.