rename

来自cppreference.com
< c‎ | io
 
 
文件输入/输出
类型与对象
函数
文件访问
直接输入/输出
无格式输入/输出
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)
有格式输入
 
在标头 <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>
#include <stdlib.h>
 
int main(void)
{
    FILE* fp = fopen("from.txt", "w"); // 创建文件 "from.txt"
    if (!fp)
    {
        perror("from.txt");
        return EXIT_FAILURE;
    }
    fputc('a', fp); // 写入到 "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)); // 从 "to.txt" 读取
    fclose(fp);
 
    return EXIT_SUCCESS;
}

可能的输出:

a

引用

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

参阅

删除文件
(函数)