C参考手册
文件输入/输出 | File input/output
rename
在头文件<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>
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):
- 7.21.4.2重命名功能(p:302-303)
- C99标准(ISO / IEC 9899:1999):
- 7.19.4.2重命名功能(p:268-269)
- C89 / C90标准(ISO / IEC 9899:1990):
- 4.9.4.2重命名功能