open이 0을 반납하면 무슨 뜻입니까?

익명 사용자의 이미지

open을 이용하여 파일을 여니까 0을 반납합니다. (0은 표준입력인데 존재
하는 파일을 여는데 표준입력 FD를 반환하다니!!!)

세상에 이럴 수 있습니까?

도대체 왜 그러는지 모르겠습니다.

가르쳐 주시면 감사하겠습니다.

익명 사용자의 이미지

코드를 이렇게 썼거든요..

if (iFd = open("FileName", O_RDWR, 0644) < 0) {
return ERROR;
}

이렇게 되면 open이 성공하면서 open() < 0 의 결과값인 거짓(0)이 iFd에
할당되어 버렸던것입니다.

따라서 iFd = open("FileName", O_RDWR, 0644)를 괄호로 꼭 둘러쌓줘야 함
다.

저, 두시간 해맸슴다. --;