std::basic_stringstream

std::basic_stringstream (문자열 입출력 스트림)

문자열 기반 스트림에 대한 입력·출력 연산을 구현하는 클래스 템플릿이에요. std::basic_string 인스턴스를 실질적으로 저장하고 그에 대해 입출력 연산을 수행해요.

출처: cppreference

본문

<sstream> 헤더에 정의돼 있어요.

template<
    class CharT,
    class Traits = std::char_traits<CharT>,
    class Allocator = std::allocator<CharT>
> class basic_stringstream
    : public basic_iostream<CharT, Traits>;

클래스 템플릿 std::basic_stringstream은 문자열 기반 스트림에 대한 입력·출력 연산을 구현해요. std::basic_string 인스턴스를 실질적으로 저장하고 그에 대해 입출력 연산을 수행해요. 저수준에서는 std::basic_stringbuf의 원시 문자열 장치 구현을 std::basic_iostream의 고수준 인터페이스로 감싸요. 고유 std::basic_stringbuf 멤버에 대한 완전한 인터페이스를 제공해요.

공통 문자 타입 typedef

  • std::stringstreamstd::basic_stringstream<char>
  • std::wstringstreamstd::basic_stringstream<wchar_t>

멤버 함수

  • (constructor) — stringstream을 생성해요(선택적으로 문자열로 초기화).
  • str — 기본 문자열을 얻거나 설정해요.
  • view (C++20) — 기본 문자열의 뷰를 얻어요.
  • rdbuf — 기반 stringbuf에 접근해요.
  • operator= — 이동 대입.

예제

#include <sstream>
#include <iostream>

int main()
{
    std::stringstream ss;
    ss << 1 << " + " << 2 << " = " << 3;
    std::cout << ss.str() << '\n'; // "1 + 2 = 3"
}

더 알아보기 (Learn more)

cppreference