rename
, _wrename
파일 또는 디렉터리의 이름을 바꿉니다.
구문
int rename(
const char *oldname,
const char *newname
);
int _wrename(
const wchar_t *oldname,
const wchar_t *newname
);
매개 변수
oldname
이전 이름에 대한 포인터입니다.
newname
새 이름에 대한 포인터입니다.
반환 값
이러한 각 함수는 성공하면 0을 반환합니다. 오류 발생 시 함수는 0이 아닌 값을 반환하고 errno
를 다음 값 중 하나로 설정합니다.
errno 값 |
조건 |
---|---|
EACCES |
지정한 newname 파일 또는 디렉터리가 이미 있거나 만들 수 없거나(잘못된 경로) oldname 디렉터리이거나 newname 다른 경로를 지정합니다. |
ENOENT |
지정한 oldname 파일 또는 경로를 찾을 수 없습니다. |
EINVAL |
이름에 잘못된 문자가 포함되어 있습니다. |
가능한 다른 반환 값은 , _errno
, syserrlist
및 _sys_nerr
를 참조_doserrno
하세요.
설명
이 함수는 rename
지정한 파일 또는 디렉터리의 이름을 지정한 oldname
이름으로 newname
바꿉니다. 이전 이름은 기존 파일이나 디렉터리의 경로여야 합니다. 새 이름은 기존 파일 또는 디렉터리의 이름이 아니어야 합니다. 인수에서 다른 경로를 newname
제공하여 파일을 한 디렉터리 또는 디바이스에서 다른 디렉터리로 이동하는 데 사용할 rename
수 있습니다. 그러나 디렉터리를 이동하는 데는 사용할 rename
수 없습니다. 디렉터리는 이름을 바꿀 수는 있지만 이동할 수는 없습니다.
_wrename
는 _rename
의 와이드 문자 버전이며, _wrename
에 대한 인수는 와이드 문자 문자열입니다. 그렇지 않으면_wrename
과 _rename
이 동일하게 작동합니다.
기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.
일반 텍스트 루틴 매핑
TCHAR.H 루틴 |
_UNICODE 및 _MBCS 정의되지 않음 |
정의된 _MBCS |
정의된 _UNICODE |
---|---|---|---|
_trename |
rename |
rename |
_wrename |
요구 사항
루틴에서 반환된 값 | 필수 헤더 |
---|---|
rename |
<io.h> 또는 <stdio.h> |
_wrename |
<stdio.h> 또는 <wchar.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
라이브러리
모든 버전의 C 런타임 라이브러리입니다.
예시
// crt_renamer.c
/* This program attempts to rename a file named
* CRT_RENAMER.OBJ to CRT_RENAMER.JBO. For this operation
* to succeed, a file named CRT_RENAMER.OBJ must exist and
* a file named CRT_RENAMER.JBO must not exist.
*/
#include <stdio.h>
int main( void )
{
int result;
char old[] = "CRT_RENAMER.OBJ", new[] = "CRT_RENAMER.JBO";
/* Attempt to rename file: */
result = rename( old, new );
if( result != 0 )
printf( "Could not rename '%s'\n", old );
else
printf( "File '%s' renamed to '%s'\n", old, new );
}
출력
File 'CRT_RENAMER.OBJ' renamed to 'CRT_RENAMER.JBO'