개인노트
[C언어] 스트림의 의미 본문
printf 함수를 이용하여 내용을 출력하는 것을 우리는 알고 있다. 하지만 어떻게 printf 함수만을 사용하여 모니터까지 연결이 되는 것일까.
프로그램과 모니터, 키보드 등은 물리적으로도 떨어져 있는 개체이고 이를 연결해 주는 매개체를 스트림(Stream)이라고 한다.
스트림의 정체는 운영체제에서 제공하는 소프트웨어적인 부분이다. 운영체제는 외부장치와 프로그램 사이의 송수신 도구가 되는 스트림을 제공하는 것이다.
여태까지 printf라는 출력 함수와 scanf_s라는 입력 함수를 호출하면서 스트림의 생성과 소멸에 관련된 코드를 본 적이 없다.
이는 콘솔(키보드 마우스) 입출력을 위한 스트림은 자동적으로 생성과 소멸이 된다는 것이다.
이것들은 기본적으로 제공되는 '표준 스트림(standard stream)'이라고 한다.
▶ stdin = 표준 입력 스트림, 키보드 대상으로 입력
▶ stdout = 표준 출력 스트림, 모니터 대상으로 출력
▶ stderr = 표준 에러 스트림, 모니터 대상으로 출력
이후에 입출력 redirection이라는 기술을 배우게 되면 stderr의 출력 대상을 변경 시킬 수 있고, stdout과 stderr의 용도를 구분 할 수 있다.
'C > 문법' 카테고리의 다른 글
[C언어] 문자열 단위의 입출력 함수 (0) | 2017.07.14 |
---|---|
[C언어] 문자 단위의 입출력 함수, EOF (0) | 2017.07.13 |
[C언어] srand를 이용한 난수 출력 (0) | 2017.07.12 |
[C언어] main 함수의 인자 전달 (0) | 2017.07.07 |
[C언어] 함수 포인터 변수와 void 포인터 (0) | 2017.07.07 |
Comments