반응형
파일 포인터 (FILE * fp)를 파일 디스크립터 (int fd)로 어떻게 변환 할 수 있습니까?
나는이 FILE *
호출에 의해 반환을 fopen()
. 전화를 걸려면 파일 설명자를 가져와야 fsync(fd)
합니다. 파일 포인터에서 파일 디스크립터를 얻는 기능은 무엇입니까?
올바른 기능은 int fileno(FILE *stream)
입니다. 에서 찾을 수 있으며 <stdio.h>
POSIX 표준이지만 표준 C는 아닙니다.
fileno(FILE *)
파일 디스크립터를 리턴 하더라도 stdio의 버퍼를 우회하지 않도록주의하십시오. 버퍼 데이터 (읽기 또는 언 플러시 쓰기)가있는 경우 파일 디스크립터에서 읽기 / 쓰기를 수행하면 예기치 않은 결과가 발생할 수 있습니다.
부수적 인 질문 중 하나에 답하고 파일 디스크립터를 FILE 포인터로 변환하려면 다음을 사용하십시오. fdopen(3)
반응형
'IT' 카테고리의 다른 글
C ++ 맵에서 insert vs emplace vs operator [] (0) | 2020.06.02 |
---|---|
ExpandoObject, DynamicObject 및 dynamic의 차이점 (0) | 2020.06.02 |
Docker 컨테이너 이미지가 왜 그렇게 큰가요? (0) | 2020.06.02 |
파이썬의 math.ceil () 및 math.floor () 연산이 정수 대신 부동 소수점을 반환하는 이유는 무엇입니까? (0) | 2020.06.02 |
디렉토리 또는 파일이있는 마운트 / 파티션을 찾는 방법은 무엇입니까? (0) | 2020.06.02 |