( 일반 파일뿐만아니라, 외부장치도 파일로 취급함. )
그래서 어떤 특정한 장치(H/W)에 접근하기 위해서 파일디스크립터(FD)를 사용하면된다.
파일디스크립터(FD)는 특정한 파일에 접근하기위해 추상화시켜놓은 장치이다.
간다히 말해서 '장치에 접근하기위한 핸들러 같은 역할을 하는구나' 생각하면된다.
이러한 핸들러, 파일디스크립터를 사용하는 방법은 먼저 파일을 연 상태에서 데이터의 추가, 삭제 등 원하는 작업을 하며, 필요한 역할을 끝냈으면 연 파일을 닫아주는 작업또한 필요하다. 이러한 작업을 다음과같은 함수를 이용하면된다.
1. Open()
핸들러 역할을하는 파일디스크립터의 의미를 부여할 수 있는 open()이다.
ex) open("파일명", 옵션);
: 파일명 : 원하는 파일을 입력
: 옵션 : 파일을 읽기, 수정, 생성 등 어떠한 작업을 할것인지 옵션부여
필요한 작업에서 다양한 옵션을 선택하는데, 그 중에서 대표적으로 사용하는 4가지 옵션
- O_RDONLY : 읽기전용으로 파일열기
- O_RDWR : 읽기/쓰기 전용으로 파일열기
- O_CREAT : 파일의 생성
- O_APPND : 파일에 추가
리눅스의 파이프명령( | )으로 이옵션들을 함께 사용할수있다.
ex) 파일을 읽기/쓰기 전용으로 열기, 파일이 존재하지않으면 생성.
fd = open("test.txt", O_RDWR | O_CREAT)
// fd는 핸들러 역할을 하며, test.txt의 파일 크기가 저장됨.
그리고 필요한 작업을 마쳤다면, 파일을 연상태이니 close()함수를 통해서 닫으면된다.
ex) close(fd);
ex) Open함수 사용
댓글 없음:
댓글 쓰기