[C/C++] 파일 입출력 함수들 모음
_open
- _O_APPEND
- 모든 쓰기 작업 전에 파일 포인터를 파일 끝으로 이동한다.
- _O_BINARY
- 모드로 파일을 연다. (fopen 참고)
- _O_CREAT
- 쓰기위해 생성하고 새로 만든 파일을 연다. 만약 이미 존재한 파일이면 아무런 효과가 없다. _O_CREAT가 쓰일 때 pmode 인자를 필요로 한다.
- _O_CREAT | _O_SHORT_LIVED
- 만약 디스크에서 flush가 가능 하지 않을때 임시로서 파일을 생성한다. _O_CREAT가 쓰일 때 pmode 인자를 필요로 한다.
- _O_CREAT | _O_TEMPORARY
- 임시로 파일을 생성한다.; 마지막 파일 descriptor가 닫혀질때 파일은 삭제된다. O_CREAT가 쓰일 때 pmode 인자를 필요로 한다.
- _O_CREAT | _O_EXCL
- 파일이 이미 존재한다면 에러를 리턴한다. 오직 _O_CREAT일때만 적.
- _O_RANDOM
- Specifies that caching is optimized for, but not restricted to, random access from disk.
- _O_RDONLY
- 오직 읽기위해 연다.; O_RDWR or _O_WRONLY와 함께 쓰여질 수 없다.
- _O_RDWR
- 읽고 쓰기위해 연다.; _O_RDONLY or _O_WRONLY와 함께 쓰여질 수 없다.
- _O_SEQUENTIAL
- Specifies that caching is optimized for, but not restricted to, sequential access from disk.
- _O_TEXT
- text모드로 변환되어 연다. (더 많은 정보는 Text and Binary Mode File I/O 과 fopen 참고.)
- _O_TRUNC
- Opens file and truncates it to zero length; file must have write permission. You cannot specify this flag with _O_RDONLY. _O_TRUNC used with _O_CREAT opens an existing file or creates a new file.
Note The _O_TRUNC flag destroys the contents of the specified file.
- _O_WRONLY
- 오직 쓰기위해 연다.; _O_RDONLY 또는 _O_RDWR와 함께 쓰여질 수 없다.
밑에 있는 플래그는 SYS\STAT.H 에 정의 되어있다.
_S_IREAD
오직 읽기만 허락됨.
_S_IWRITE
쓰기가 허락됨(실제로 쓰기, 읽기가 허락됨).
_S_IREAD | _S_IWRITE
쓰기, 읽기가 허락됨.
_close
_read
_write
_lseek - FP를 특정한 위치로 이동한다.
_tell - FP위치를 얻는다.
_access - 파일 접근의 허가를 결정한다.
00 | 오직 존재한다. |
02 | 쓰기 허가 |
04 | 읽기 허가 |
06 | 읽고쓰기 허가 |
remove - 파일을 삭재한다.
_unlink - 파일을 삭재한다.
rename - 파일이나 디렉토리의 이름을 바꾼다.
_chmod - 파일 허가 설정을 바꾼다.
_findfirst - 파일을 처음으로 검색한다.
_findnext - 다음으로 검색한다.
_findclose - 검색을 마친다.
struct _finddata_t {
unsigned attrib;
time_t time_create; /* -1 for FAT file systems */
time_t time_access; /* -1 for FAT file systems */
time_t time_write;
_fsize_t size;
char name[260];
};
_chdir - 지금 활동중인 디렉토리를 바꾼다
_mkdir - 새로운 디렉토리를 만든다.
_rmdir - 디렉토리를 삭제한다.
_getcwd - 지금 활동중인 디렉토리를 얻는다.
_splitpath - 파일 경로를 각 구성성분으로 나눈다.
_makepath - 구성성분으로부터 파일 경로를 만든다.
_getdrive - 현재의 드라이브를 얻는다.
_chdrive - 현재 활동중인 드라이브를 바꾼다.
_getdiskfree - 디스크 정보인 밑의 구조체를 얻는다.
struct _diskfree_t {
unsigned total_clusters;
unsigned avail_clusters;
unsigned sectors_per_cluster;
unsigned bytes_per_sector;
};