Programming/C

C언어 - 스트림(Stream)

JunsuKim 2021. 10. 6.
728x90

스트림(Stream)

스트림은 데이터의 이동 수단이다.

프로그램상에서 모니터로 문자열을 출력할 수 있는 이유가 무엇일까?

이는 문자열을 출력하는 printf 함수가 있기 때문이다. 그럼 printf 함수를 호출할 때 어떠한 경로 및 과정을 거쳐서 출력이 되는가?

printf 함수를 입력하기 위한 입력장치인 키보드와, 출력을 위한 장치인 모니터 이 둘은 서로 떨어져 있는 개체이다. 이러한 개체들을 대상으로 데이터를 입출력하기 위해서는 이들을 연결시켜 주는 장치가 필요하다. 이러한 다리 역할을 하는 매개체를 "스트림"이라 한다.

스트림의 생성과 소멸

입출력은 보통 두 가지로 나뉘는데 콘솔 입출력과 파일 입출력이 있다.

둘의 차이점은 파일과의 연결을 위한 스트림의 생성은 우리가 직접 해야 하지만, 콘솔과의 연결을 위한 스트림의 생성은 자동으로 생성된다.

파일 입출력에 대해서는 아직 공부하지 않았으니 콘솔 입출력만을 보자.

콘솔 입출력의 입력 스트림과 출력 스트림은 기본적으로 제공되는 표준 스트림이다.

또한 표준 스트림에는 에러 스트림도 존재한다.

stdin 표준 입력 스트림 키보드 대상으로 입력
stdout 표준 출력 스트림 모니터 대상으로 출력
stderr 표준 에러 스트림 모니터 대상으로 출력

 

728x90

댓글