-
C/C++ rename(2)C,C++ & Linux 2020. 5. 18. 17:03728x90
rename 함수 기능
파일의 이름을 바꿔주는 함수입니다.
함수 원형
#include <stdio.h> int rename(const char *oldname const char *newname);
매개변수
oldname
이름을 변경할 대상 파일의 이름(경로)
newname
새로운 이름(경로)
반환값
성공 시 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(int argc, char *argv[]) { int fd; // 파일을 열자마자 닫음 (잘 열리는지 확인용) fd = open(argv[1], O_RDONLY); close(fd); // 파일명 바꾸기 rename(argv[1], argv[2]); // 바꾼 뒤로는 기존이름으로는 파일이 열리지 않음 if ((fd = open(argv[1], O_RDONLY)) < 0) { fprintf(stderr, "%s 는 존재하지 않는 파일입니다.\n", argv[1]); } else close(fd); // 바꾼 이름으로만 파일이 열림 if ((fd = open(argv[2], O_RDONLY)) < 0) { fprintf(stderr, "%s open error\n", argv[2]); exit(1); } printf("성공\n"); exit(0); }
결과
리눅스시스템프로그래밍 저자 : 홍지만
https://book.naver.com/bookdb/book_detail.nhn?bid=14623672
책에 기술된 예제 프로그램입니다. 책 내부에는 훨씬 더 많은 자료가 있습니다. (개인적으로 좋았습니다.)'C,C++ & Linux' 카테고리의 다른 글
C/C++ readlink(2) (0) 2020.05.18 C/C++ symlink(2) (0) 2020.05.18 C/C++ remove(3) (0) 2020.05.18 C/C++ link(2) unlink(2) (0) 2020.05.18 하드링크, 심볼릭링크 (0) 2020.05.18