파일 디스크립터 관련 질문입니다!
글쓴이: song689 / 작성시간: 월, 2018/11/05 - 1:49오후
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main(int argc, char *argv[])
{
int fd;
if (fd = open(argv[1], O_RDWR) == -1)
printf("파일 열기 오류\n");
else printf("파일 %s 열기 성공 : %d\n", argv[1], fd);
close(fd);
exit(0);
}위 코드를 실행시켜보았는데 fd가 0이 나오네요.
제가 예상한 결과는 3이 나와야될텐데 왜 0이나온거죠? 0,1,2는 기본적으로 할당되어있는 fd 아닌가요??
Forums:


하하.. 자문자답입니다.
if (fd = open(argv[1], O_RDWR) == -1) 여기가 문법오류가 있었네요.
if ((fd = open(argv[1], O_RDWR)) == -1) 괄호를 빼먹어서 그런 거였습니다.
댓글 달기