2012-03-09 15 views
8

fopen에 대한 man 페이지를 보면이 질문에 대한 명확한 답변을 얻을 수 없습니다. fopen은 파일 설명자를 생성합니까?

FILE *fopen(const char *path, const char *mode); 

나는 fopen가 부산물로 생성 된 파일 기술자를 스트림에 파일 포인터를 반환하지만 것을 이해? 파일 디스크립터가 생성 될 때마다 플래그 FD_CLOEXEC을 포함 시키려고합니다. 실제로 파일 설명자가 fopen에서 생성 된 경우 입력으로 사용할 "fd"가 없을 때 fnctl()을 사용하는 가장 좋은 방법은 무엇입니까?

감사합니다. fopen(3) 결국 호출, 그것은 는 파일 기술자를 열 않습니다 (난 당신이 fcntl을 언급하고 있기 때문에 사용한다고 가정) 유닉스에

답변

16

open(2). 당신은 fileno(3)를 통해 해당 파일 기술자를 얻을 수 있습니다.

관련 문제