파일열기
데이터를 읽거나 쓰기 위해서 파일을 열때 사용하는 함수이다.
두개의 인자를 전달 받는데, 첫번째 인자로 대상이되는 파일의 이름 및 경로 정보, 두번째 인자로는 파일의 오픈모드정보(파일의 특성 정보)를 전달한다.
#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 반환
'JAVA > Tcp ip Socket' 카테고리의 다른 글
리눅스 기반 socket,bind,listen,accept,connect (0) | 2014.09.02 |
---|---|
putty 파일전송 (0) | 2014.08.29 |
warning C4013: '_beginthreadex' undefined; assuming extern returning int (0) | 2013.11.21 |
warning C4761: integral size mismatch in argument; conversion supplied (0) | 2013.11.21 |
다자간 채팅프로그램 zip (0) | 2013.11.21 |