C 参考手册

定义于头文件 <stdio.h>
int rename( const char *old_filename, const char *new_filename );

更改文件的文件名。该文件以 old_filename 所指向的字符串标识。新文件名以 new_filename 所指向的字符串标识。

new_filename 存在,则行为是实现定义的。

参数

old_filename - 指向包含标识要重命名的文件的路径的空终止字符串的指针
new_filename - 指向包含文件新路径的空终止字符串的指针

返回值

成功时为 0 ,失败时为非零值。

注意

POSIX 指定许多关于此函数语义的附加细节。

示例

#include <stdio.h>
int main(void)
{
    FILE* fp = fopen("from.txt", "w"); // 创建文件 "from.txt"
    if(!fp) { perror("from.txt"); return 1; }
    fputc('a', fp); // 写入到 "from.txt"
    fclose(fp);
 
    int rc = rename("from.txt", "to.txt");
    if(rc) { perror("rename"); return 1; }
 
    fp = fopen("to.txt", "r");
    if(!fp) { perror("to.txt"); return 1; }
    printf("%c\n", fgetc(fp)); // 从 "to.txt" 读取
    fclose(fp);
}

输出:

a

引用

  • C11 standard (ISO/IEC 9899:2011):
  • 7.21.4.2 The rename function (p: 302-303)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.19.4.2 The rename function (p: 268-269)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.9.4.2 The rename function

参阅

删除文件
(函数)