전체 글
-
C/C++ readdir(3)C,C++ & Linux 2020. 5. 20. 16:10
readdir(3) 함수 기능 디렉토리 내부의 파일을 읽어들이는 함수입니다. 함수 원형 #include struct dirent *readdir(DIR *dp); 매개변수 dp 읽어들일 디렉토리의 DIR 포인터 반환값 성공 시 dirent* 리턴 에러 시 NULL 리턴하고 errno 설정 struct dirent 구조 struct dirent { char d_name[256];// 파일명 ino_t d_ino;// inode off_t d_off;// 현재 디렉토리 DIR 스트림내에서의 위치(offset) unsigned short d_reclen;// 레코드 길이 unsigned char d_type;// 파일의 타입 }; 예제 #include #include #include #include #incl..
-
C/C++ opendir(3)C,C++ & Linux 2020. 5. 20. 15:54
opendir(3) 함수 기능 디렉토리를 열어주는 함수입니다. 함수 원형 #include #include DIR *opendir(const char *filepath); 매개변수 filepath 대상 디렉토리의 경로 반환값 성공 시 DIR 포인터 리턴 에러 시 NULL 리턴하고 errno 설정 DIR 구조체는 디렉토리 정보를 처리하는데 필요한 구조체로 FILE 구조체와 비슷하게 동작합니다. 예제 #include #include #include int main() { DIR *dp; // 디렉토리 열기 dp = opendir("ssu_test.txt"); exit(0); } 리눅스시스템프로그래밍 저자 : 홍지만 https://book.naver.com/bookdb/book_detail.nhn?bid=146..
-
C/C++ rmdir(2)C,C++ & Linux 2020. 5. 19. 12:34
rmdir(2) 함수 기능 디렉토리를 지워주는 함수입니다. rmdir 명령어와 마찬가지로 디렉토리 내부가 빈 상태여야 삭제 가능합니다. 함수 원형 #include int rmdir(const char *filepath) 매개변수 filepath 지우고자 하는 파일의 경로 반환값 성공 시 0 리턴 에러 시 -1 리턴하고 errno 설정 예제 #include #include #include #include #include #include #include int main(int argc, char *argv[]) { int fd; // mydir 내부에 hi.txt 를 만들어서 빈 디렉토리가 아니게 됨 fd = open("mydir/hi.txt", O_RDWR | O_CREAT); close(fd); // 이..
-
C/C++ mkdir(2)C,C++ & Linux 2020. 5. 19. 12:29
mkdir(2) 함수 기능 디렉토리 파일을 만들어주는 함수입니다. 함수 원형 #include #include int mkdir(const char *filepath, mode_t mode); 매개변수 filepath 디렉토리를 만들고자 하는 경로 mode 디렉토리의 접근 권한 테스트 매크로 8진수 내용 S_IRWXU 0000700 소유자 권한 마스크 S_IRUSR 0000400 소유자 읽기 권한 S_IWUSR 0000200 소유자 쓰기 권한 S_IXUSR 0000100 소유자 실행 권한 S_IRWXG 0000070 그룹 권한 마스크 S_IRGRP 0000040 그룹 읽기 권한 S_IWGRP 0000020 그룹 쓰기 권한 S_IXGRP 0000010 그룹 실행 권한 S_IRWXO 0000007 기타 사용자..
-
C/C++ utime(2)C,C++ & Linux 2020. 5. 19. 12:20
utime(2) 함수 기능 파일의 atime(Access Time), mtime(Modification Time) 을 수정하는 함수입니다. struct utimbuf 구조 struct utimbuf { time_t actime;// 접근 시간 time_t modtime;// 수정 시간 }; 함수 원형 #include #include int utime(const char *filepath, const struct utimbuf *time); 매개변수 filepath 대상 파일의 경로 time 변경될 시간 반환값 성공 시 0 리턴 에러 시 -1 리턴하고 errno 설정 예제 #include #include #include #include #include #include #include int main(int..
-
C/C++ readlink(2)C,C++ & Linux 2020. 5. 18. 22:57
readlink(2) 함수 기능 심볼릭링크 파일이 어떤 파일을 가리키는지 알아내는 함수입니다. 함수 원형 #include ssize_t readlink(const char *filepath, void *buf, size_t bufsize); 매개변수 filepath 읽고자 하는 대상 심볼릭링크 파일의 경로 buf 심볼릭 링크 파일이 가리키는 파일명을 저장할 버퍼 bufsize 버퍼의 크기 반환값 성공 시 읽어 들인 데이터 바이트 수 리턴 에러 시 -1 리턴하고 errno 설정 예제 #include #include #include #include #include #include int main(int argc, char *argv[]) { char buf[1024]; int length; // argv[1..
-
C/C++ symlink(2)C,C++ & Linux 2020. 5. 18. 22:49
symlink 함수 기능 파일의 심볼릭링크를 만들어주는 함수입니다. 함수 원형 #include int symlink(const char *existingpath, const char *newpath); 매개변수 existingpath 심볼릭 링크를 만들고자 하는 대상 파일의 경로 newpath 심볼릭 링크 파일의 경로 반환값 성공 시 0 리턴 에러 시 -1 리턴하고 errno 설정 예제 #include #include #include #include #include #include int main(int argc, char *argv[]) { // argv[1]의 심볼릭 링크 파일인 argv[2] 파일 생성 if (symlink(argv[1], argv[2]) < 0) { fprintf(stderr, "..
-
C/C++ rename(2)C,C++ & Linux 2020. 5. 18. 17:03
rename 함수 기능 파일의 이름을 바꿔주는 함수입니다. 함수 원형 #include int rename(const char *oldname const char *newname); 매개변수 oldname 이름을 변경할 대상 파일의 이름(경로) newname 새로운 이름(경로) 반환값 성공 시 0 리턴 에러 시 -1 리턴하고 errno 설정 예제 #include #include #include #include #include #include int main(int argc, char *argv[]) { int fd; // 파일을 열자마자 닫음 (잘 열리는지 확인용) fd = open(argv[1], O_RDONLY); close(fd); // 파일명 바꾸기 rename(argv[1], argv[2]); /..