std::basic_iostream

std::basic_iostream (입출력 스트림)

스트림에 대한 고수준 입출력 연산을 제공하는 클래스 템플릿이에요. 순차 읽기·쓰기와 형식화를 지원해요. std::basic_streambuf 클래스의 인터페이스 위에 구현돼요.

출처: cppreference

본문

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

template<
    class CharT,
    class Traits = std::char_traits<CharT>
> class basic_iostream :
      public basic_istream<CharT, Traits>,
      public basic_ostream<CharT, Traits>;

클래스 템플릿 basic_iostream은 스트림에 대한 고수준 입출력 연산을 제공해요. 지원하는 연산에는 순차 읽기·쓰기와 형식화가 있어요. 이 기능은 std::basic_streambuf 클래스가 제공하는 인터페이스 위에 구현되고, std::basic_ios를 통해 접근돼요.

공통 문자 타입 typedef

  • std::iostreamstd::basic_iostream<char>
  • std::wiostreamstd::basic_iostream<wchar_t>

멤버 함수

  • operator>>, operator<< — 형식화 입출력.
  • get / read / getline / put / write 등 — 비형식화 입출력.
  • seekg / seekp — 위치 조정.
  • tellg / tellp — 위치 조회.

예제

#include <sstream>
#include <iostream>

int main()
{
    std::stringstream ss;
    ss << "value: " << 42;   // 쓰기
    ss.seekg(0);
    std::string token;
    int v;
    ss >> token >> v;         // 읽기
    std::cout << v << '\n';   // "42"
}

더 알아보기 (Learn more)

cppreference