std::ios_base

std::ios_base (I/O 스트림 기반 클래스)

모든 I/O 스트림 클래스의 기반 클래스로 쓰이는 다목적 클래스예요. 상태 정보, 제어 정보, private 저장소, 콜백을 유지해요.

출처: cppreference

본문

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

class ios_base;

클래스 ios_base는 모든 I/O 스트림 클래스의 기반 클래스로 쓰이는 다목적 클래스예요. 여러 종류의 데이터를 유지해요.

    1. 상태 정보: 스트림 상태 플래그.
    1. 제어 정보: 입력·출력 시퀀스의 형식화를 제어하는 플래그와 적용된 로케일.
    1. private 저장소: longvoid* 멤버를 모두 허용하는 색인형 확장 가능 데이터 구조.
    1. 콜백: 임의 개수의 콜백 함수(imbue(), copyfmt(), 파괴 시 호출).

타입

  • fmtflags — 형식 플래그 비트마스크(boolalpha, dec, fixed, hex, internal, left, oct, right, scientific, showbase, showpoint, showpos, skipws, unitbuf, uppercase, adjustfield, basefield, floatfield).
  • iostate — 스트림 상태 비트마스크(goodbit, badbit, eofbit, failbit).
  • openmode — 스트림 열기 모드 비트마스크(app, ate, binary, in, out, trunc).
  • seekdir — 탐색 방향(beg, cur, end).
  • event, event_callback — 콜백 이벤트 타입.
  • Init — 정적 초기화 클래스.

멤버 함수

  • getloc / imbue — 로케일.
  • flags / setf / unsetf / precision / width — 형식 제어.
  • rdstate / clear / setstate / good / eof / fail / bad / exceptions — 상태.
  • rdbuf / tie — 버퍼·결합.
  • iword / pword / xalloc / register_callback — 확장 저장·콜백.
  • sync_with_stdio — C 표준 I/O와 동기화(정적 함수).

더 알아보기 (Learn more)

cppreference