반응형
std::ios_base
- stream 의 input output 형식 관련 데이터를 처리함(정수형을 출력시 10진수로 할지 16진수로 할지 등을 처리
- 모든 입출력 클래스는 ios_base를 base 클래스로 두고있음
std::ios
- stream buffer를 초기화
- 입출력 작업의 상태를 처리(파일의 끝에 도달했는지를 알 수 있음, eof() 함수
std::istream, std::ostream
- ios_base, ios 가 입출력 작업 상태, 데이터 처리를 했다면
- istream, ostream 은 각각 실제로 입력 및 출력을 수행함
- cin 은 istream 클래스의 instance 이다, 연산자 >> 오버로딩이 되어있고 모든타입에 다 되어 있어서, 다 입력 가능
- 그러나, cin(istream) 은 공백문자를 무시하고, \n 기준으로 입력을 그만받음
- cout 또한 ostream 클래스의 instance 이며, 연산자 << 오버로딩이 되어있고
- 모든타입에 다 되어 있어서, 모든타입이 출력 가능함
- http://www.cplusplus.com/reference/ostream/ostream/operator%3C%3C/
std::ifstream
- istream을 상속 받음
- filebuf 객체를 내부 스트림 버퍼로 사용
- 연결된 파일에 istream에서 상속받은 입력 함수들을 쓸 수 있음
- input 만 가능한 filebuf 객체 (input filebuf stream)
std::ofstream
- ostream을 상속 받음
- filebuf 객체를 내부 스트림 버퍼로 사용
- 연결된 파일에 ostream에서 상속받은 출력 함수들을 쓸 수 있음
- output 만 가능한 filebuf 객체 (output filebuf stream)
std::iostream
- istream, ostream 상속 받음 (입력,출력 둘다 가능)
std::fstream
- iostream 상속 받음(입력, 출력 둘다 가능)
- filebuf 객체를 내부 스트림 버퍼로 사용
- 연결된 파일에 iostream에서 상속받은 입력 출력 함수들을 쓸 수 있음
반응형
'C++' 카테고리의 다른 글
c++ Singleton Pattern 기본 구현 방법 (0) | 2020.03.03 |
---|---|
const (0) | 2020.02.29 |
Static Member Function(정적 멤버 함수) (0) | 2020.02.27 |
CopyConstructor, Shallow Copy, Deep Copy (0) | 2020.02.24 |
std::function (c++ 11) (0) | 2020.02.23 |