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

Класс ostringstream

Класс ostringstream из заголовка sstream представляет собой поток вывода, который записывает данные не на экран или в файл, а в обычную строку. Это позволяет использовать все возможности форматирования, доступные для cout (например, setw, setprecision, hex, fixed), и при этом получать результат в виде объекта string. Чтобы получить накопленную строку, используется метод str. Класс удобен для сборки сложных строк из разнородных данных без применения операций конкатенации.

Синтаксис

#include <sstream> ostringstream os; os << value1 << value2; string res = os.str();

Пример

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

#include <iostream> #include <sstream> #include <string> using namespace std; int main() { ostringstream os; os << "abcde" << " " << 12345; string res = os.str(); cout << res << endl; return 0; }

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

"abcde 12345"

Пример

Давайте используем манипуляторы форматирования setw и setfill для выравнивания чисел в строке:

#include <iostream> #include <sstream> #include <iomanip> #include <string> using namespace std; int main() { ostringstream os; os << setfill('0'); os << setw(5) << 12 << endl; os << setw(5) << 345 << endl; string res = os.str(); cout << res; return 0; }

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

""00012" 00345 """

Пример

Давайте выведем число в шестнадцатеричном виде с помощью манипулятора hex:

#include <iostream> #include <sstream> #include <iomanip> #include <string> using namespace std; int main() { ostringstream os; os << hex << 255; string res = os.str(); cout << res << endl; return 0; }

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

"ff"

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

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