본문 바로가기
배워보자!!/리눅스

[linux] 리눅스 open() 함수

by norinda 2015. 5. 20.
728x90

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

int open(const char *pathname , int flags , mode_t mode);

- 파일 오픈을 할 때 사용되는 시스템함수이다. open()함수는 리턴으로 int형 정수를 반환합니다.


파일을 성공적으로 열었다면 파일지정번호를 이용합니다.0보다 작은값이 반환될 경우 파일열기에 실패한 경우 


입니다.




pathname : 파일 경로


flags : 파일을 어떤 방식으로 열것인지 선택

 flags

설명 

 O_RDONLY

 읽기 전용

 O_WRONLY

 쓰기 전용

 O_RDWR

 읽기 , 쓰기 모두

 O_CREAT

 파일없을 경우 파일 생성

 O_EXCL

 파일 존재시 error 리턴


mode : 파일 권한을 설정

 mode

설명 

 S_IRWXU

 00700 / 파일소유자에게 읽기,쓰기,실행권한 부여 

 S_IRUSR 

 00400 / 사용자에게 읽기 권한 부여

 S_IWUSR

 00200 / 사용자에게 쓰기 권한 부여

 S_IXUSR

 00100 / 사용자에게 실행 권한 부여

 S_IRWXG

 00070 / 그룹에게 읽기,쓰기,실행권한 부여

 S_IRGRP

 00040 / 그룹에게 읽기권한 부여

 S_IWGRP

 00020 / 그룹에게 쓰기권한 부여

 S_IXGRP

 00010 / 그룹에게 실행권한 부여

 S_IRWXO

 00007 / 기타 사용자에게 읽기,쓰기,실행권한 부여

 S_IROTH

 00004 / 기타 사용자에게 읽기권한 부여

 S_IWOTH

 00002 / 기타 사용자에게 쓰기권한 부여

 S_IXOTH

 00001 / 기타 사용자에게 실행권한 부여


ex)

void main()

{

int fd;

fd = open("test.txt" , O_RDONLY , S_IXUSR | S_IROTH);

}





반응형

'배워보자!! > 리눅스' 카테고리의 다른 글

[linux] 리눅스 write() 함수  (0) 2015.05.20
[linux] 리눅스 read() 함수  (0) 2015.05.20
[linux] 리눅스 wait() 함수  (0) 2015.05.17
[linux] 리눅스 fork() 함수  (0) 2015.05.17
[linux] 리눅스 파일관리하기!  (0) 2015.04.14

댓글