命名空间
变体
操作

重命名

来自 cppreference.com
< c‎ | io
 
 
文件输入/输出
类型和对象
函数
文件访问
直接输入/输出
非格式化输入/输出
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)
格式化输入
(C99)(C99)(C99)(C11)(C11)(C11)     
 
在头文件 <stdio.h> 中定义
int rename( const char* old_filename, const char* new_filename );

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

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

内容

[编辑] 参数

old_filename - 指向包含要重命名的文件路径的以 null 结尾的字符串的指针
new_filename - 指向包含文件新路径的以 null 结尾的字符串的指针

[编辑] 返回值

0 成功时返回,错误时返回非零值。

[编辑] 注释

POSIX 指定了有关此函数语义的更多详细信息。

[编辑] 示例

#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    FILE* fp = fopen("from.txt", "w"); // create file "from.txt"
    if (!fp)
    {
        perror("from.txt");
        return EXIT_FAILURE;
    }
    fputc('a', fp); // write to "from.txt"
    fclose(fp);
 
    int rc = rename("from.txt", "to.txt");
    if (rc)
    {
        perror("rename");
        return EXIT_FAILURE;
    }
 
    fp = fopen("to.txt", "r");
    if(!fp)
    {
        perror("to.txt");
        return EXIT_FAILURE;
    }
    printf("%c\n", fgetc(fp)); // read from "to.txt"
    fclose(fp);
 
    return EXIT_SUCCESS;
}

可能的输出

a

[编辑] 参考资料

  • C23 标准 (ISO/IEC 9899:2024)
  • 7.21.4.2 rename 函数 (p: TBD)
  • C17 标准 (ISO/IEC 9899:2018)
  • 7.21.4.2 rename 函数 (p: TBD)
  • C11 标准 (ISO/IEC 9899:2011)
  • 7.21.4.2 rename 函数 (p: 302-303)
  • C99 标准 (ISO/IEC 9899:1999)
  • 7.19.4.2 rename 函数 (p: 268-269)
  • C89/C90 标准 (ISO/IEC 9899:1990)
  • 4.9.4.2 rename 函数

[编辑] 参见

删除文件
(函数) [编辑]
C++ 文档 用于 rename