cat redirection 구현할 때, EOF 처리 방법
글쓴이: ha3k1e / 작성시간: 화, 2017/05/23 - 3:50오후
리눅스 환경에서,
child process에서 cat을 하고 그 결과를 parent process에서 읽게하려 합니다.
dup2()로 연결해서 stdin으로 read하도록 했습니다만,
문제는 파일 read는 잘하는데, 파일 내용을 다 읽었음에도 끝나지 않고 이상한 내용을 더 읽습니다.
(완전히 쓰레기 값은 아니고 textfile의 중간부분부터 끝 부분까지 반복되는 내용이지만 끝을 읽지 못하는게 문제입니다.)
뒤에서 줄 띄움표를 기준으로 다른 처리를 해줄 것인데,
뒤의 쓰레기 값 때문에 에러가 나게 됩니다.
while (read(STDIN_FILENO, str, READSIZE))
이렇게 읽는데 EOF를 읽을 수 있는 방법이 없을까요.
도움을 주시면 감사하겠습니다.ㅠㅠ
1 byte씩은 너무 비효율 적이라 불가능합니다.
Forums:
read 의 반환값을 확인하세요
read 의 반환값을 확인하세요
헉 이제 보았네요. 집에 가서 반환값 다 찍어보아서
헉 이제 보았네요. 집에 가서 반환값 다 찍어보아서 해보겠습니다!
아 해결했습니다 ^^
아 해결했습니다 ^^
댓글 달기