2396

12 分钟

#C 语言标准库函数 rename

/********************************************* * @brief 重命名文件 * @param old_filename 要重命名的文件路径 * @param new_filename 新的文件路径 * @return 是(0)否(非 0)成功 ********************************************/ int rename(const char* old_filename, const char* new_filename);

说明

删除文件。

参数

  • old_filename - 要重命名的文件路径
  • new_filename - 新的文件路径

返回值

  • 成功返回 0
  • 失败时返回非 0

#示例

#include <stdio.h> int main(void) { // 生成临时文件名 char old_filename[L_tmpnam]; char new_filename[L_tmpnam]; tmpnam(old_filename); tmpnam(new_filename); // 创建文件 FILE* fp = fopen(old_filename, "wb"); if (fp == NULL) { perror("文件创建失败"); return 1; } printf("创建了文件 %s\n", old_filename); fputs("ABCD", fp); // 写文件 // 关闭文件 fclose(fp); // 重命名文件 if (rename(old_filename, new_filename) == 0) { printf("文件重命名为 %s\n", new_filename); } // 打开文件 fp = fopen(new_filename, "rb"); if (fp == NULL) { perror("文件打开失败"); return 1; } // 读取并查看整个文件 for (int i = 0; i < 10; i += 1) { int ch = fgetc(fp); // 返回 int if (ch == EOF) // 失败检查 break; putchar(ch); } putchar('\n'); // 关闭文件 fclose(fp); return 0; }

运行结果:

创建了文件 /tmp/filezVBCLg 文件重命名为 /tmp/fileqaUUwM ABCD

#推荐阅读

#参考标准

  • C23 standard (ISO/IEC 9899:2024):
    • 7.21.4.2 The rename function (p: TBD)
  • C17 standard (ISO/IEC 9899:2018):
    • 7.21.4.2 The rename function (p: TBD)
  • 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

创建于 2025/8/19

更新于 2025/8/19