Строковые потоки stringstream

Аналогично функциям sscanf и sprintf в языке C, в языке C++ есть возможность считывать данные из строк (как будто бы из файла) и выводить данные в строки.

Для этого используются описанные в заголовочном файле sstream объекты istringstream (поток для чтения из строки) и ostringstream(поток для вывода из строки).

Приведем пример использования этих потоков. Пусть в строке s записано два числа через пробел, мы считаем их при используя объект istringstream, связанный со строкой, затем выведем в объект ostringstream эти же числа, увеличенные на 1 и скопируем результат в строку s.

    string s = "123 456";

    istringstream ss(s);
    int a, b;
    ss >> a >> b;

    ostringstream os;
    os << a + 1 << " " << b + 1;
    s = os.str();