[c] 파일 설명자에서 FILE 포인터를 얻는 방법은 무엇입니까?

mkstemp()파일 설명자를 제공하는을 가지고 놀았 지만을 통해 형식이 지정된 출력을 생성하고 싶습니다 fprintf(). 에서 제공하는 파일 설명자를와 함께 사용하기에 적합한 구조 mkstemp()로 쉽게 변환 할 수있는 방법 FILE *fprintf()있습니까?



답변

사용 fdopen():

FILE* fp = fdopen(fd, "w");


답변

FILE* f = fdopen(d, "w");

man fdopen 출력 :

개요

#include <stdio.h>

FILE *
fdopen(int fildes, const char *mode);

fdopen()함수는 스트림을 기존 파일 설명자인 fildes. 스트림의 모드는 파일 설명 자의 모드와 호환되어야합니다. 를 통해 스트림이 닫히면 fclose(3), fildes도 닫힙니다.


답변

C 표준이 파일 설명자에 대해 말할 것이 없기 때문에이를 수행하는 표준 방법 (또는 그 반대)이 없습니다. 귀하의 특정 플랫폼은 그러한 메커니즘을 제공하거나 제공하지 않을 수 있습니다.


답변