-
C/C++ creat 함수 - 파일 생성C,C++ & Linux 2020. 4. 21. 23:41728x90
crea 함수 기능
파일을 만들어주는 함수 (create 가 아님에 주의하자)
함수 원형
#include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> int creat(const char *filepath, mode_t mode);
매개변수
const char *filepath
생성할 파일의 경로
mode_t mode
생성할 파일의 접근 권한을 명시
기본 값
파일 : 0666
디렉토리 : 0777
아래 옵션들은 bitwise 연산으로 여러개를 동시에 사용가능함
S_IRWXU : 유저 읽기, 쓰기, 실행 권한 (Read, Write, Execute User)
S_IRUSR : 유저 읽기 권한 (Read User)
S_IWUSR : 유저 쓰기 권한 (Write User)
S_IXUSR : 유저 실행 권한 (Execute User)
S_IRWXG : 그룹 읽기, 쓰기, 실행 권한 (Read, Write, Execute Group)
S_IRGRP : 그룹 읽기 권한
S_IWGRP : 그룹 쓰기 권한
S_IXGRP : 그룹 실행 권한S_IRWXO : 기타 사용자 읽기, 쓰기, 실행 권한 (Read, Write, Execute Other)
S_IROTH : 기타 사용자 읽기 권한
S_IWOTH : 기타 사용자 쓰기 권한
S_IXOTH : 기타 사용자 실행 권한반환값
성공 시 0, 실패 시 -1 리턴 후 errno 설정
예제
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> int main() { char *fname = "ssu_test.txt"; int fd; if ((fd = creat(fname, 0666)) < 0) { fprintf(stderr, "creat error for %s\n", fname); exit(1); } printf("Success!\nFilename : %s\nDescriptor : %d\n", fname, fd); close(fd); exit(0); }
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> int main() { char *fname = "ssu_test.txt"; int fd; if ((fd = creat(fname, 0666)) < 0) { fprintf(stderr, "creat error for %s\n", fname); exit(1); } close(fd); fd = open(fname, O_RDWR); printf("Success!\n<%s> is new readable and writable\n", fname); exit(0); }
리눅스시스템프로그래밍 저자 : 홍지만
https://book.naver.com/bookdb/book_detail.nhn?bid=14623672
책에 기술된 예제 프로그램입니다. 책 내부에는 훨씬 더 많은 자료가 있습니다. (개인적으로 좋았습니다.)'C,C++ & Linux' 카테고리의 다른 글
C/C++ read 함수 - 파일을 읽는 함수 (0) 2020.04.22 C/C++ lseek 함수 - 파일 커서(seek pointer) 조정 (0) 2020.04.22 C/C++ open 함수 - 파일 생성 / 읽기 / 쓰기 (0) 2020.04.21 string.h 함수 모음 (0) 2020.04.06 리눅스 시스템 프로그래밍 기본 명령어 모음 (0) 2020.04.06