파일 디스크립터 관련 질문입니다!
글쓴이: 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) 괄호를 빼먹어서 그런 거였습니다.
댓글 달기