Namespaces
Variants

std:: basic_ios

From cppreference.net
< cpp ‎ | io
헤더에 정의됨 <ios>
template <

class CharT,
class Traits = std:: char_traits < CharT >
> class basic_ios

: public std:: ios_base

클래스 std::basic_ios std::basic_streambuf 인터페이스를 가진 객체와 상호작용하기 위한 기능을 제공합니다. 여러 개의 std::basic_ios 객체가 하나의 실제 std::basic_streambuf 객체를 참조할 수 있습니다.

cpp/io/ios base std-basic ios-inheritance.svg

상속 다이어그램

일반적인 문자 타입에 대한 여러 typedef가 제공됩니다:

헤더 파일에 정의됨 <ios>
타입 정의
std::ios std :: basic_ios < char >
std::wios std :: basic_ios < wchar_t >

목차

멤버 타입

멤버 타입 정의
char_type CharT
traits_type Traits ; Traits::char_type CharT 가 아닐 경우 프로그램은 ill-formed입니다.
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

공개 멤버 함수

객체를 생성합니다
(public member function)
[virtual]
객체를 소멸합니다
(virtual public member function)
operator=
복사 할당 연산자가 삭제됨
(public member function)
상태 함수
오류가 발생하지 않았는지 확인합니다 (즉, I/O 작업을 사용할 수 있는 상태인지)
(public member function)
파일 끝에 도달했는지 확인합니다
(public member function)
오류가 발생했는지 확인합니다
(public member function)
복구 불가능한 오류가 발생했는지 확인합니다
(public member function)
오류가 발생했는지 확인합니다 ( fail() 의 동의어)
(public member function)
오류가 발생하지 않았는지 확인합니다 ( ! fail() 의 동의어)
(public member function)
상태 플래그를 반환합니다
(public member function)
상태 플래그를 설정합니다
(public member function)
상태 플래그를 수정합니다
(public member function)
서식 지정
서식 정보를 복사합니다
(public member function)
채움 문자를 관리합니다
(public member function)
기타
예외 마스크를 관리합니다
(public member function)
로케일을 설정합니다
(public member function)
연결된 스트림 버퍼를 관리합니다
(public member function)
연결된 스트림을 관리합니다
(public member function)
문자를 좁힙니다
(public member function)
문자를 넓힙니다
(public member function)

보호된 멤버 함수

기본 생성된 std::basic_ios 를 초기화합니다
(보호된 멤버 함수)
(C++11)
다른 std::basic_ios 에서 이동합니다 ( rdbuf 제외)
(보호된 멤버 함수)
(C++11)
다른 std::basic_ios 와 교환합니다 ( rdbuf 제외)
(보호된 멤버 함수)
rdbuf 를 교체합니다 (에러 상태를 지우지 않음)
(보호된 멤버 함수)

std:: ios_base 에서 상속됨

멤버 함수

서식 지정
형식 플래그 관리
( std::ios_base 의 public member function)
특정 형식 플래그 설정
( std::ios_base 의 public member function)
특정 형식 플래그 해제
( std::ios_base 의 public member function)
부동 소수점 연산의 소수점 정밀도 관리
( std::ios_base 의 public member function)
필드 너비 관리
( std::ios_base 의 public member function)
로케일
로케일 설정
( std::ios_base 의 public member function)
현재 로케일 반환
( std::ios_base 의 public member function)
내부 확장 가능 배열
[static]
pword() iword() 의 인덱스로 사용하기에 안전한 프로그램 전체에서 고유한 정수 반환
( std::ios_base 의 public static member function)
필요한 경우 개인 저장소 크기 조정 및 주어진 인덱스의 long 요소 접근
( std::ios_base 의 public member function)
필요한 경우 개인 저장소 크기 조정 및 주어진 인덱스의 void * 요소 접근
( std::ios_base 의 public member function)
기타
이벤트 콜백 함수 등록
( std::ios_base 의 public member function)
C++과 C I/O 라이브러리의 상호 운용성 설정
( std::ios_base 의 public static member function)
멤버 클래스
스트림 예외
( std::ios_base 의 public member class)
표준 스트림 객체 초기화
( std::ios_base 의 public member class)

멤버 타입 및 상수

타입 설명
스트림 열기 모드 타입

다음 상수들도 정의되어 있습니다:

상수 설명
app 각 쓰기 전에 스트림의 끝으로 이동
binary 바이너리 모드 로 열기
in 읽기용으로 열기
out 쓰기용으로 열기
trunc 열 때 스트림의 내용을 버림
ate 열자마자 스트림의 끝으로 이동
noreplace (C++23) 배타 모드로 열기

(typedef)
서식 플래그 타입

다음 상수들도 정의됩니다:

상수 설명
dec 정수 입출력에 10진법 사용: std::dec 참조
oct 정수 입출력에 8진법 사용: std::oct 참조
hex 정수 입출력에 16진법 사용: std::hex 참조
basefield dec | oct | hex . 마스킹 연산에 유용함
left 왼쪽 정렬 (오른쪽에 채움 문자 추가): std::left 참조
right 오른쪽 정렬 (왼쪽에 채움 문자 추가): std::right 참조
internal 내부 정렬 (내부 지정 지점에 채움 문자 추가): std::internal 참조
adjustfield left | right | internal . 마스킹 연산에 유용함
scientific 부동 소수점 타입을 과학적 표기법으로 생성하거나, fixed 와 결합 시 16진법 표기법 사용: std::scientific 참조
fixed 부동 소수점 타입을 고정 소수점 표기법으로 생성하거나, scientific 와 결합 시 16진법 표기법 사용: std::fixed 참조
floatfield scientific | fixed . 마스킹 연산에 유용함
boolalpha bool 타입을 영숫자 형식으로 삽입 및 추출: std::boolalpha 참조
showbase 정수 출력을 위한 숫자 체계 접두사 생성, 통화 입출력에서 통화 표시자 요구: std::showbase 참조
showpoint 부동 소수점 숫자 출력에서 무조건 소수점 문자 생성: std::showpoint 참조
showpos 음수가 아닌 숫자 출력에 + 문자 생성: std::showpos 참조
skipws 특정 입력 연산 전에 선행 공백 건너뜀: std::skipws 참조
unitbuf 각 출력 연산 후 출력 플러시: std::unitbuf 참조
uppercase 특정 출력 연산에서 일부 소문자를 대문자로 대체: std::uppercase 참조

(typedef)
스트림 상태 타입

다음 상수들도 정의됩니다:

상수 설명
goodbit 오류 없음
badbit 복구 불가능한 스트림 오류
failbit 입출력 연산 실패 (형식화 또는 추출 오류)
eofbit 관련 입력 시퀀스가 파일 끝에 도달함

(typedef)
탐색 방향 타입

다음 상수들도 정의되어 있습니다:

상수 설명
beg 스트림의 시작
end 스트림의 끝
cur 스트림 위치 표시자의 현재 위치

(typedef)
이벤트 타입 지정
(enum)
콜백 함수 타입
(typedef)

참고 사항

std::basic_ios 의 직관적인 구현은 다음 멤버들만 저장합니다 (이들은 모두 템플릿 매개변수에 의존하므로 std::ios_base 의 일부가 될 수 없습니다):

  • 채우기 문자 (참조: fill() )
  • 연결된 스트림 포인터 (참조: tie() )
  • 연결된 스트림 버퍼 포인터 (참조: rdbuf() ).

실제 구현은 다양합니다:

Microsoft Visual Studio는 단지 이 세 가지 멤버만 저장합니다.

LLVM libc++는 멤버를 1개 적게 저장합니다: rdbuf 포인터를 void * 타입의 ios_base 멤버로 유지합니다.

GNU libstdc++는 4개의 추가 멤버를 저장합니다: 캐시된 세 개의 패싯과 채우기가 초기화되었음을 나타내는 플래그입니다.