함수 기능
파일을 오픈하거나 생성할 때 사용하는 system call
함수 원형
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int open(const char *pathname, int oflag, mode_t mode)
함수 파라메터
pathname
파일의 경로
oflag
(필수)
O_RDONLY - 읽기모드
O_WRONLY - 작성모드
O_RDWR - 읽기/작성 모드
(선택)
O_APPEND - 파일 작성시 기존 파일의 마지막 부분부터 이어 작성
O_CREAT - 파일 생성
O_EXCL(exclusive) - O_CREAT와 함께 사용하며 만약 파일이 존재한다면 에러리턴
O_TRUNC - 파일이 있으면 파일 초기화하며 OPEN
mode_t mode
O_CREAT 사용시 사용해아하는 옵션이다. 파일의 권한을 설정해줄수 있다.
EX) 0666,0777
이 외에도 S_IRWXU, S_IRWXG, S_IRWXO등의 명령어가 있다.
함수 예제
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
int main(void){
char *fname = "ssu_test.txt";
int fd;
if((fd = open(fname,O_RDONLY))<0){
fprintf(stderr,"open error for %s\n",fname);
exit(1);
}
else
printf("Success!\nFilename : %s\nDescriptor : %d\n",fname,fd);
exit(0);
}
함수 결과
리눅스시스템 프로그래밍 V1.0 - 홍지만 저
교재 내에 있는 예제를 바탕으로 작성한 글 입니다.
'C & LINUX' 카테고리의 다른 글
C / LINUX read() (0) | 2022.05.01 |
---|---|
C / LINUX lseek() (0) | 2022.05.01 |
C / LINUX creat() (0) | 2022.05.01 |
C / LINUX fclose() fcloseall() (0) | 2022.05.01 |
C / LINUX fopen() freopen() fdopen() (0) | 2022.05.01 |