📝 스트림
- 데이터의 흐름
- 데이터를 전송하는 소프트웨어 모듈
- 스트림의 양 끝에는 프래그램과 장치 연결
- 보낸 순서대로 데이터 전달
- 입출력 기본 단위 : 바이트
- 종류
- 입력 스트림
- 입력 장치, 네트워크, 파일로부터 데이터를 프로그램으로 전달하는 스트림
- 출력 스트림
- 프로그램에서 출력되는 데이터를 출력 장치, 네트워크, 파일로 전달하는 스트림
📝 입출력 스트림
- C++ 표준은 스트림 방식만 지원
- C++ 입출력 스트림은 버퍼를 가짐
- 입력 스트림의 버퍼
- 목적
- 입력장치로부터 입력된 데이터를 프로그램으로 전달하기 전에 일시저장
- 키 입력 도중 수정 가능
- 프로그램은 사용자의 키 입력이 끝난 시점에서 읽음
출력 스트림 버퍼
- 목적
- 프로그램에서 출력된 데이터를 출력 장치로 보내기 전에 일시저장
✏️ ostream
- ostream& put(char ch)
- ostream& write(char* str, int n)
- ostream& flush()
#include <iostream>
#include<vector>
using namespace std;
int main() {
cout.put('H');
cout.put('i');
cout.put(33);
cout.put('\n');
cout.put('H').put('+').put('+').put(' ');
char str[] = "Hello programming";
cout.write(str, 5);
}
✏️ istream
- int get()
- 입력 스트림에서 문자를 리턴
- 오류나 EOF는 -1(EOF) 리턴
- istream& get(char& ch)
- 입력 스트림에서 문자를 ch에 전달
- 오류는 내부 오류플래그 리턴