rename, _wrename
将一个文件或目录重命名。
int rename(
const char *oldname,
const char *newname
);
int _wrename(
const wchar_t *oldname,
const wchar_t *newname
);
参数
oldname
对旧名称的指针。newname
为新名称的指针。
返回值
,如果它是成功的,这些功能中的每种方法都返回 0。 在错误,则函数返回非零值并将 errno 为下列值之一:
EACCES
newname 或目录指定的文件已存在或无法创建 (无效路径);或 oldname 是内容,并 newname 指定不同的路径。ENOENT
oldname 或路径指定的文件未找到。EINVAL
名称包含无效字符。
对于其他可能返回值,请参见 _doserrno、 _errno、 syserrlist 和 _sys_nerr。
备注
重命名 功能。 oldname 或重命名目录指定的文件与 newname命名的名称。 旧名称必须是现有文件或目录的路径。 新名称不能是现有文件或目录的名称。 可以使用 重命名 从一个目录移动文件或计算机到另一个使 newname 参数的其他路径。 但是,不能使用 重命名 移动目录。 内容可以重命名,但是,不会移动。
_wrename 是 _rename的宽字符版本;为 _wrename 的参数是宽字符字符串。 _wrename 和 _rename 否则具有相同的行为。
一般文本例程映射
TCHAR.H 实例 |
未定义的 _UNICODE _MBCS |
定义的 _MBCS |
定义的 _UNICODE |
---|---|---|---|
_trename |
重命名 |
重命名 |
_wrename |
要求
实例 |
必需的头 |
---|---|
重命名 |
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 );
}
Output
File 'CRT_RENAMER.OBJ' renamed to 'CRT_RENAMER.JBO'