표준 입력 및 출력 그리고 에러의 리다이렉션
Programming/C 2013. 2. 15. 03:45 |■ 리다이렉션이란 입력과 출력의 대상을 변경시키는 것이다.
※ 리다이렉션은 windows의 DOS와 같은 프로그램에서 제공하는 기능이기 때문에 운영체제 별로 그 방식에 있어서 약간의 차이를 보인다. 때문에 Linux 콘솔에서의 리다이렉션 방법과 DOS에서의 리다이렉션 방법에는 차이가 있다.
■ DOS상에서의 리다이렉션.
- 키보드로부터 문자열을 읽어 들여서 출력하는 예제 -
stdout을 리다이렉션 시킬 때에는 기호 >를 활용한다.
review.exe > review.txt 명령의 의미
: "review.exe를 실행하되 이 프로그램의 표준 출력(stdout)을 파일 review.txt로 리다이렉션 시키라" 라는 뜻이 된다.
stdin을 리다이렉션 시킬 때에는 기호 < 를 활용한다.
review.exe < review.txt > reCopy.txt 명령의 의미
: "review.exe를 실행하되 이 프로그램의 표준 입력(stdin)은 review.txt로 리다이렉션 시키고, 표준 출력(stdout)은 파일 reCopy.txt로 리다이렉션 시켜라" 라는 뜻이 된다.
■ stdout과 stderr을 동시에 제공하는 이유
표준 에러의 리다이렉션에는 2> 가 사용된다.
이렇게 표준 에러를 활용하면 에러메시지는 log.txt 파일로 보내지고 나머지 stdout(표준 출력)은 화면상에 나오게끔 할 수 있다.
그래서 프로그램을 사용하다 오류가 나면 표준 에러를 파일문서로 만들어 어디에서 에러가 났는지 확인할 수 있다.
'Programming > C' 카테고리의 다른 글
난수 (Random Number) (0) | 2013.02.15 |
---|---|
r+, w+ a+ 모드의 활용 (0) | 2013.02.15 |
fsetpos, fgetpos 함수 (0) | 2013.02.15 |
ftell함수를 이용한 파일 사이즈 알아내는 프로그램. (0) | 2013.02.15 |
fread, fwrite 함수 (1) | 2013.02.15 |