본문 바로가기
C | C++

open | close | read | write (저수준 파일입출력 함수)

by saniii 2022. 4. 24.

# 저수준 파일입출력 함수

  • 속도가 빠르다.
  • 바이트 단위로 읽고 쓴다.
  • 특수 파일에 접근할 수 있다. 
  • 바이트 단위로 입출력하기 때문에 기능을 추가적으로 구현해야한다. 

 

# 파일 디스크립터, fd

- 시스템으로부터 할당받은 파일이나 소켓을 대표하는 정수

 

0 표준 입력
1 표준 출력
2 표준 에러 출력
3 여기부터 open 함수로 순차적 할당
... ...

 

 

# open

파일을 열거나 생성할 때 사용한다. - 시스템 호출

#include <unistd.h>

int open(const char *path, int oflag, [mode_t mode]);

https://kirkim.github.io/c/2021/02/18/lowfildefunc(1).html 

- 여기를 보면 errno값이 자동으로 설정되어 perror로 오류코드를 해석 할 수 있다고 함.

 

 

https://man7.org/linux/man-pages/man2/open.2.html

 

# close

open 함수로 연 파일은 작업을 마쳤으면 close()로 닫아야 한다. 

#include <unistd.h>

int close(int fd);
  • 정상 작동 : 0 반환
  • 실패 : -1 반환

 

 

# read

 

 

 

 

 

# write

#include <unistd.h>

ssize_t write(int fd, const void* buf, size_t nbytes);
  • 정상 작동 : write한 바이트 수 반환
  • 실패 : -1 출력
  • int fd : 파일 디스크립터
  • const void *buf : 파일에 쓸 내용을 담은 버퍼
  • size_t nbytes : 쓸 바이트 수

 

 

'C | C++' 카테고리의 다른 글

<pthread.h>  (0) 2022.04.30
[0423] C 에러 해결  (0) 2022.04.23
Makefile  (0) 2022.04.12
[ C ] 동적할당 malloc(), free()  (0) 2021.12.29
[C++] c++ 이 뭔가요?  (0) 2021.10.20

댓글