2010. 5. 31. 19:34

리다이렉션(< or >)을 활용한 파일입출력


리다이렉션은 프로그래밍관련 용어는 아니며, 표준입력과 표준출력을 위한 연결을 다른쪽으로 변경할 수 있는 기능입니다. 이는 UNIX와 MS-DOS등 많은 운영체제들이 지원한다. 여기서 말하는 표준입력과 표준출력은 각각 stdin, stdout을 뜻하며 키보드와 모니터를 뜻합니다.

< file
파일내용을 표준입력으로 읽어들인다.
이는 파일내용을 scanf와 같은 함수(표준 입력으로부터 읽어들이는)로 읽어들인다고 생각하시면 됩니다.

> file
표준출력내용을 파일에 쓴다.(표준출력이 파일로 바뀌는 것이라 생각하면됨)
이는 파일내용을 printf와 같은 함수(표준 출력으로 출력하는)로 출력하신다고 생각하시면 됩니다.

>> file
표준출력내용을 파일로 추가한다.

2> file
표준에러내용을 파일에 쓴다.

2>> file
표준에러내용을 파일에 추가한다.

테스트 소스
#include <stdio.h>
void main()
{
 char ch;
 char res;
 char str[512];
 char str2[512];
 char str3[512];
 char str4[512];
 scanf("%s", str );
 scanf("%s", str2 );
 scanf("%s", str3 );
 scanf("%s", str4 );
 printf("%s\n", str );
 printf("%s\n", str2 );
 printf("%s\n", str3 );
 printf("%s\n", str4 );
}

테스트 파일(test.txt)
aaabbb
dfsfds
eeee rrr

빌드 후 테스트
C:\>test.exe < test.txt > result.txt

결과(result.txt)
aaabbb
dfsfds
eeee
rrr