rename

rename

在头文件中定义
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> int main(void) { FILE* fp = fopen("from.txt", "w" // create file "from.txt" if(!fp) { perror("from.txt" return 1; } fputc('a', fp // write to "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) // read from "to.txt" fclose(fp }

输出:

a

参考

  • C11标准(ISO / IEC 9899:2011):