1. 스트림 개념

  • C++ 에서 제공하는 입출력 매커니즘
  • 스트림은 출발지 또는 목적지가 있고 한 방향으로 데이터를 전달한다
  • 문자 기반 스트림 인스턴스 정리
스트림클래스데이터 흐름버퍼링 여부
cinistreamstandard input » 프로그램O
coutostreamstandard output « 프로그램O
cerrostreamstandard error « 프로그램X
clogostreamstandard 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() 와 같다