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'

.NET Framework 等效项

系统:: IO:: 文件:: 移动

请参见

参考

文件处理