파일열기

데이터를 읽거나 쓰기 위해서 파일을 열때 사용하는 함수이다.

두개의 인자를 전달 받는데, 첫번째 인자로 대상이되는 파일의 이름 및 경로 정보, 두번째 인자로는 파일의 오픈모드정보(파일의 특성 정보)를 전달한다.

 

#include<sys/types.h>

#include<sys/stat.h>

#include<fcntl.h>


1. int open(const char *path, int flag);

path 파일 이름을 나타내는 문자열의 주소 값 전달

flag 파일의 오픈 모드 정보 전달

 성공 시 파일 디스크립터, 실패 시 -1 반환

 


 

 오픈모드

의미 

 O_CREAT 

필요하면 파일을 생성 

 O_TRUNC

기존 데이터 전부 삭제

 O_APPEND

 기존 데이터 보존하고, 뒤에 이어서 저장

 O_RDONLY

 읽기 전용으로 파일 오픈

 O_WRONLY

 쓰기 전용으로 파일 오픈

 O_RDWR

 읽기, 쓰기 겸용으로 파일오픈

 

 

파일닫기

#include<unistd.h>

2. int close(int fd);

fd 닫고자 하는 파일 또는 소켓의 파일 디스크립터 전달

 성공시 0, 실패 시 -1 반환

 


 

파일에 데이터 쓰기

파일에 데이터를 출력(전송)하는 함수이다.

 

#include<unistd.h>

3. ssize_t write(int fd, const void * buf, size_t nbytes);

fd 데이터 전송대상을 나타내는 파일 디스크립터 전달

buf 전송할 데이터가 저장된 버퍼의주소 값 전달

nbytes 전송할 데이터의 바이트 수 전달

성공 시 전달한 바이트 수, 실패시 -1 반환


4. sszie_t read(int fd, void *buf, size_t nbytes);

fd 데이터 수신대상을 나타내는 파일 디스크립터

buf 수신한 데이터를 저장할 버퍼의 주소값 전달

nbytes 수신할 최대 바이트 수 전달

 성공시 수신한 바이트수(단 파일의 끝을 만나면 0), 실패시 -1 반환


 

 

 

블로그 이미지

왕왕왕왕

,