Search

C++ | 문자 기반 입출력 스트림 기초

Date
2024/07/27
category
C++
Tags
c++

1. 스트림 개념

C++ 에서 제공하는 입출력 매커니즘
스트림은 출발지 또는 목적지가 있고 한 방향으로 데이터를 전달한다
문자 기반 스트림 인스턴스 정리
스트림
클래스
데이터 흐름
버퍼링 여부
cin
istream
standard input >> 프로그램
O
cout
ostream
standard output << 프로그램
O
cerr
ostream
standard error << 프로그램
X
clog
ostream
standard error << 프로그램
O
wide character 사용 시 wcin, wcout, wcerr, wclog사용

2. 에러 검사

입출력 시 에러는 언제나 발생할 수 있다
에러가 한번 발생해서 error bits가 설정되면 이후의 입출력 연산은 실패한다
스트림 사용 전에 사용 가능한 상태인지 미리 검사해야 한다
입출력 스트림의 상태를 검사할 수 있는 메서드
메서드
true 반환 조건
eof()
스트림이 end-of-file에 도달해 eofbit가 설정된 경우
bad()
복구하기 힘든 시스템 레벨의 입출력 문제가 발생하여 badbit가 설정된 경우
fail()
복구 가능한 입출력 문제가 발생하여 failbit가 설정되거나 badbit가 설정된 경우
good()
eofibt, badbit, failbit 모두 설정되지 않아 goodbit가 설정된 경우
입출력 스트림 객체를 조건식으로 사용 시 !fail()과 같다
good()의 결과는 !fail() && !eof() 와 같다