리눅스 쉘 프로그래밍 중에 질문드립니다.
글쓴이: gogossing1 / 작성시간: 수, 2009/04/01 - 3:25오전
현재 리눅스 쉘 프로그래밍을 하고 있습니다.
리다이렉션부분에서 제가 freopen함수를 쓰는데
분명 dir을 찍으면 화면에는 다 나타나지만
dir > a.txt를 해보면 옵션을 -a나 안 걸면 그 줄의 마지막 파일만 출력되어 있고
-l이나 -al을 하면 마지막 줄만 출력되어 있습니다.
switch(pid = fork()) { // 자식프로세스 생성
case -1:
perror("Fork failed");
case 0:
ReDir(inputfile, outputfile, mode);
execvp(arg[0],arg);
syserr("exec");
exit(0);
default:
waitpid(pid,&status,WUNTRACED););
입니다.
ReDir은 가령 freopen(outputfile, "w", stdout);
식으로 구성되어 있습니다.
syserr는 err출력 함수이고요(제가 만든.)
이런데 꼭 저런 결과만 나옵니다.
파싱이 잘 못 된 걸가요?
아니면 마지막 출력부분이 잘못된 것일까요?
너무 일부분만 올려 죄송하지만 일단 여러분을 믿고 부탁드리겠습니다.
Forums:
척 보기에는 w로
척 보기에는 w로 열면서 초기화/쓰기/초기화/쓰기/.../초기화/쓰기
이렇게 되서 마지막 줄만 남은 것 같습니다 - ㅅ-);;
freopen에서 mode를 a로 주면 아마 되기는 될겁니다.
헌데 그 전에 파일을 제거해줘야죠.
댓글 달기