sprintf fprintf 차이점, gets fgets 차이점, 표준스트림

esmin·2021년 1월 26일
0

C is the best

목록 보기
7/10

sprintf fprintf

https://haruhiism.tistory.com/8


표준스트림

표준 스트림(standard streams)은 특정한 프로그래밍 언어 인터페이스뿐 아니라 유닉스 및 유닉스 계열 운영 체제(어느 정도까지는 윈도에도 해당함)에서 컴퓨터 프로그램과 그 환경(일반적으로 단말기) 사이에 미리 연결된 입출력 통로를 가리킨다.[1]

일반적으로 유닉스에서 동작하는 프로그램은 실행 시 세 개의 스트림이 자동으로 열린다. 이를 표준 스트림이라고 부른다. 하나는 입력을 위한 스트림(Standard input, STDIN, 0), 하나는 출력을 위한 스트림(Standard Output, STDOUT, 1), 하나는 오류 메시지를 출력하기 위한 스트림(Standard Error, STDERR, 2)이며, 이 세 개의 표준 스트림은 사용자의 터미널에 부착된다.

보통 입출력은 물리적으로 연결된 시스템 콘솔의 키보드와 모니터를 통해 일어나는데, 표준 스트림은 이것을 추상화한 것이다. 어떤 명령이 대화형 셸을 통해 실행될 때, 일반적으로 명령의 스트림은 셸이 실행중인 텍스트 터미널에 연결된다. (그러나 이는 파이프와 같은 리다이렉션을 통해 전환될 수 있다.) 더 일반적으로 말하자면, 자식 프로세스는 부모 프로세스의 표준 스트림을 상속 받는다고 할 수 있다.[2]

CSAPP chapter11에서 Dup2(fp, STDOUT_FILENO)를 하는 이유는 STDOUT이라는 표준 출력은 DISPLAY로 하는 것이 아니라 클라이언트와 연결되는 소켓으로 출력 하기 위함이다.


0개의 댓글