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

Класс istringstream

Класс istringstream из заголовка <sstream> позволяет читать данные из строки так же, как мы читаем их из потока ввода cin. Это удобно, когда нужно разобрать строку на отдельные числа, слова или другие значения. В конструктор класса мы передаем строку, из которой будет происходить чтение, а дальше работаем с объектом как с обычным потоком ввода: используем оператор >> или функцию getline.

Синтаксис

istringstream name(string);

Пример

Давайте разберем строку "12345" на отдельные числа и выведем каждое из них:

#include <iostream> #include <sstream> #include <string> using namespace std; int main() { istringstream iss("12345"); int num; while (iss >> num) { cout << num << endl; } return 0; }

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

12345

Пример

Давайте разберем строку "abcde" на отдельные слова, разделенные пробелами:

#include <iostream> #include <sstream> #include <string> using namespace std; int main() { istringstream iss("abcde"); string word; while (iss >> word) { cout << word << endl; } return 0; }

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

"abcde"

Пример

Давайте прочитаем из строки два значения - число и слово:

#include <iostream> #include <sstream> #include <string> using namespace std; int main() { istringstream iss("12345 abcde"); int num; string word; iss >> num; iss >> word; cout << num << endl; cout << word << endl; return 0; }

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

12345 "abcde"

Пример

Давайте прочитаем из строки целую строку с помощью функции getline:

#include <iostream> #include <sstream> #include <string> using namespace std; int main() { istringstream iss("abcde"); string line; getline(iss, line); cout << line << endl; return 0; }

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

"abcde"

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

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