728x90
파일 디스크립터를 파일 구조체 포인터로 변환
- fdopen : 성공 시 FILE 구조체 포인터, 실패 시 NULL 반환
#include <stdio.h>
FILE* fdopen(int fildes, const char* mode);
#define _O_RDONLY 0x0000
#define _O_WRONLY 0x0001
#define _O_RDWR 0x0002
#define _O_APPEND 0x0008
#define _O_CREAT 0x0100
#define _O_TRUNC 0x0200
#define _O_EXCL 0x0400
-> fildes : 변환할 파일 디스크립터
-> mode : 생성할 FILE 구조체의 모드
열기 옵션 | 옵션 설명 |
O_RDONLY | 읽기 전용응로 열기 |
O_WRONLY | 쓰기 전용으로 열기 |
O_RDWR | 읽기와 쓰기가 모두 가능 |
O_CREAT | 해당 파일이 없으면 생성합니다. |
O_EXCL | O_CREAT를 사용했을 때, 파일이 이미 있어도 열기가 가능하여 쓰기를 하면 이전 내용이 사라집니다. |
O_TRUNC | 기존의 파일 내용을 모두 삭제합니다. |
O_APPEND | 파일을 추가하여 쓰기가 되도록 open 후에 쓰기 포인터가 파일의 끝에 위치하게 됩니다. |
-> 혹은 문자열로 전달
파일 구조체 포인터를 파일 디스크립터로 변환
- fileno : 성공 시 변환된 파일 디스크립터 변환, 실패 시 -1 반환
#include <stdio.h>
int fileno(FILE* stream);
728x90
'Programming > Network' 카테고리의 다른 글
열혈 TCP/IP 16-1. 입력 / 출력 스트림의 분리 (0) | 2021.03.28 |
---|---|
열혈 TCP/IP 15-3. 소켓 기반에서의 표준 입출력 함수 사용 (0) | 2021.03.28 |
열혈 TCP/IP 15-1. 표준 입출력 함수의 장점 (0) | 2021.03.28 |
열혈 TCP/IP 14-2. 브로드캐스트(Broadcast) (0) | 2021.03.14 |
열혈 TCP/IP 14-1. 멀티캐스트(Multicast) (0) | 2021.03.14 |