Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

<a href="/modules/moniwiki/wiki.php/manSearch?google=none&name=rename">rename</a>(2)

1장. rename(2)

차례
1.1절. 사용법
1.2절. 설명
1.3절. 반환값
1.4절. 에러
1.5절. 예제

파일의 이름이나 위치를 변경


1.1절. 사용법

#include <sys/socket.h>

int rename(const char *oldpath, const char *newpath); 
		


1.2절. 설명

파일의 이름을 바꾸거나, 필요할경우 파일을 이동시킨다. 하드링크(:12) 파일은 영향을 받지 않는다.


1.3절. 반환값

성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno 값을 설정한다.


1.4절. 에러

EISDIR

newpath 는 디렉토리이지만 oldpath 는 디렉토리가 아니다.

EXDEV

oldpath 와 newpath 가 동일한 파일시스템 상에 있지 않다.

ENOTEMPTY or EEXIST

newpath 가 빈디렉토리가 아니다.

ENOBUFS

시스템에 연산을 위해서 이용할수 있는 자원이 부족할때

EBUSY

path가 어떤 프로세스에 의해서 사용되는 디렉토리이기 때문에 실패한다.

ENOENT

oldpath 또는 newpath 내의 디렉토리 구성요소가 존재하지 않거나 심볼릭 링크이다.

EROFS

파일이 읽기만 가능한 파일시스템에 있다.


1.5절. 예제

#include <stdio.h>

int main(int argc, char **argv)
{
    if (rename(argv[1], argv[2]) < 0)
        perror("error : ");
    else
        printf("success\n");
}