Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- network
- nodejs
- effective
- cache
- Java
- javascript
- mybatis
- Lombok
- AWS
- 네트워크
- mongodb
- reactor
- git
- HTTP
- 데이터통신
- VCS
- Heap
- github
- Linux
- libuv
- html
- Elk
- NoSQL
- reactive
- spring
- redis
- socket
- ajax
- Static
- r
Archives
- Today
- Total
빨간색코딩
표준 스트림 (표준출력과 표준오류의 차이) 본문
입력과 출력은 프로그램의 흐름이다. 입력을 키보드뿐만아니라 파일로도 할 수 있으며, 출력에도 모니터뿐만 아니라 파일역시 출력의 대상이다.
1. 표준 스트림
특정한 프로그래밍 언어 인터페이스뿐 아니라 유닉스 및 리눅스,윈도 등에서 컴퓨터 프로그램과 그 환경 사이에 미리 연결된 입출력 통로이다. 스트림은 단방향이다.
데이터 스트림은 순차적인 데이터 바이트들을 파일의 끝(EOF)까지 읽는다. 이런 방식으로, 프로그램은 쓸 데이터가 얼만큼 남았는지, 혹은 어떤 식으로 묶여있는지 알 필요 없이 필요한 데이터를 쓸 수 있었다.
c언어에서 함수앞에 f가 붙은 함수들은 보통 인자로 FILE *stream을 받는다.
2. 표준입력
- 입력을 위한 스트림(Standard input, STDIN, 0)
- <stdio.h> 변수는 FILE* stdin;
3. 표준출력
- 출력을 위한 스트림(Standard Output, STDOUT, 1)
- <stdio.h> 변수는 FILE* stdout;
4. 표준오류
- 오류 메시지를 출력하기 위한 스트림(Standard Error, STDERR, 2)
- <stdio.h> 변수는 FILE* stderr;
표준출력과 표준오류의 차이:
- 표준출력은 줄 단위의 버퍼링을 하지만, 표준 오류는 버퍼링없이 바로 출력된다.
- 표준출력은 한줄을 완성해야 출력되고, 표준오류는 바로바로 출력해버린다.
예를들어,
fprint(stdout, "%s", message);
fprint(stderr, "%s", message);
일 경우, 표준오류가 먼저 콘솔에 찍힌다. 이는 표준출력에 \n이 없어서 생기는 현상이다.
'C' 카테고리의 다른 글
아두이노 Digita I/O & Analog I/O (0) | 2017.04.02 |
---|---|
TCP소켓 Half-close 기법 (0) | 2017.03.28 |
(UDP소켓 프로그래밍) socket.h API, connected UDP소켓 (0) | 2017.03.27 |
구조체의 메모리 저장방식 (0) | 2017.03.18 |
(TCP소켓 프로그래밍) socket.h API, 네트워크 바이트 순서 (0) | 2017.03.14 |
Comments