본문 바로가기
컴퓨터 공학/C, C++

[ C ] 문자열 함수 이해하기2_스트림과 데이터의 이동

by hahehohoo 2020. 7. 21.
반응형

C언어 문법 스트림과 데이터의 이동

 

 

■ 데이터의 입출력 

 

프로그램 중심으로 데이터가

프로그램 안으로 들어오면 입력이고,

프로그램 밖으로 나가면 출력입니다. 

 

대표적인 입력 장치로는 키보드가 있으며, 파일도 입력의 대상이 될 수 있습니다. 

대표적인 출력 장치로는 모니터가 있으며, 파일도 출력의 대상이 될 수 있습니다. 

 

 

■ 스트림(stream)이란?

 

이제까지 C언어로 코드를 작성하고 결과값을 어떻게 출력했나요?

printf 함수를 호출하였습니다. 

프로그램과 키보드는 서로 떨어져 있는 개체인데 printf 함수 호출만으로 어떻게 문자열이 출력될 수 있을까요?

프로그램과 키보드를 연결해주는 다리가 있기 때문입니다. 그 역할을 하는 매개체를 '스트림'이라고 합니다.

 

 

 

 

스트림이란 운영체제에서 제공하는 가상의 다리입니다. 소프트웨어로 구현되어 있습니다. 

스트림은 연결 대상에 따라 직접 설정해야할지, 말지가 결정됩니다. 파일과 연결하려면 수동으로 설정해야합니다.

하지만 콘솔(키보드, 모니터 등)과의 연결을 위해서는 스트림이 자동으로 생성되었다가 프로그램 종료 시에 자동으로 소멸됩니다. 

 

이렇게 콘솔 입출력을 위한 '입력 스트림'과 '출력 스트림'은 기본적으로 제공되는 '표준 스트림(standard stream)'입니다. 또한 이 표준 스트림에는 '에러 스트림'도 포함됩니다. 각각 다음과 같은 이름이 붙어있습니다. 이름이 어떻게 사용되는지는 다음 글에서 계속 다루겠습니다. .

 

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

 

 

 스트림(stream)은 한 방향으로 흐르는 데이터의 흐름을 뜻합니다. 즉 단방향으로 데이터의 전송이 이루어진다는 뜻입니다. 실제로 입출력 스트림도 입력 스트림과 출력 스트림이 구분되어서 한 방향으로 데이터의 흐름을 유지하고 있습니다. 

 

출처: https://xebia.com/blog/how-to-use-akka-streams-or-reactor-with-vert-x/

 

 

 

 

 

-----------------------------------

C언어 문법 총정리

목록 보러가기 

-----------------------------------

 

 

 

 

 

반응형


댓글