쉘 프로그래밍 중에 질문 드립니다.
글쓴이: gogossing1 / 작성시간: 일, 2009/04/05 - 6:23오전
switch(pid = fork()) {
case -1:
fprintf(stderr, "could not fork!");
case 0:
ReDir(inputfile, outputfile, mode);
if(execvp(arg[0], arg) == -1 )
fprintf(stdout, "%s : Unkown command\n", arg[0]);
default:
pid = wait(&status);
}
디렉토리를 나타낼 때 쓰는데 (예:dir -a )화면상에 띄울 때는 문제가 없습니다.
하지만 저기 있듯이 리다이렉션 구현을 위해 ReDir함수에 freopen(outputfile, "w", stdout)같은 것을 치면
파일 출력에는 항상 화면출력시의 마지막 파일만 나와 있습니다.
이는 "w"를 "a"모드로 고쳐서 했을 때도 같고요.
어떻게 해야 완전히 나오게 할 수 있을까요?
(해결을 위해 코드를 보내드릴 수도 있습니다.)
Forums:
댓글 달기