РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
628 of 815 menu

Класс stringstream

Класс stringstream из заголовочного файла <sstream> представляет собой строковый поток, который объединяет возможности классов istringstream и ostringstream. Он позволяет одновременно записывать данные в поток (как cout) и читать их из потока (как cin), используя при этом строку в качестве источника и приёмника данных. Это делает stringstream удобным инструментом для форматирования, разбора и преобразования строк.

Конструктор класса может принимать необязательную строку, которая станет начальным содержимым потока. Метод str позволяет получить текущее содержимое потока в виде строки или задать новое. Операторы << и >> работают с потоком так же, как и с другими потоками ввода-вывода.

Синтаксис

#include <sstream> stringstream ss; stringstream ss(string str);

Пример

Давайте запишем в поток несколько значений и получим итоговую строку с помощью метода str:

#include <iostream> #include <sstream> #include <string> using namespace std; int main() { stringstream ss; ss << "abc" << " " << 123 << " " << 45; string res = ss.str(); cout << res << endl; return 0; }

Результат выполнения кода:

"abc 123 45"

Пример

Давайте разберём строку на отдельные числа с помощью оператора >>:

#include <iostream> #include <sstream> #include <string> using namespace std; int main() { stringstream ss("12345"); int a, b; ss >> a >> b; cout << a << " " << b << endl; return 0; }

Результат выполнения кода:

12 345

Пример

Давайте преобразуем число в строку и обратно, используя stringstream:

#include <iostream> #include <sstream> #include <string> using namespace std; int main() { int num = 12345; stringstream ss; ss << num; string str = ss.str(); cout << str << endl; stringstream ss2(str); int res; ss2 >> res; cout << res << endl; return 0; }

Результат выполнения кода:

12345 12345

Смотрите также

  • класс ostringstream,
    который предназначен только для записи в строку
  • класс istringstream,
    который предназначен только для чтения из строки
  • метод str,
    который возвращает содержимое потока в виде строки
  • функция to_string,
    которая преобразует число в строку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить