更改文件名

简介: 更改文件名

rename() 函数,既可以重命名文件,又可以将文件移至同一文件系统中的另一目录rename() 函数会将 oldpath 所表示的现有的一个路径名重命名为 newpath 参数所指定的路径名。

#include <stdio.h>
int rename(const char *oldpath, const char *newpath);点击复制复制失败已复制


rename() 函数调用仅操作目录条目,而不移动文件数据。改名既不影响指向该文件的其他硬链接,也不影响持有该文件的打开描述符的任何进程,因为这些文件描述符指向的是打开文件描述,与文件名无关。


如果 newpath 已经存在,则将其覆盖。如果 newpatholdpath 指向同一文件,则不发生变化(且调用成功)。


如果 oldpath 指定文件而非目录,那么就不能将 newpath 指定为一个目录的路径名(否则将 errno 置为 EISDIR )。要想重命名一个文件到同一目录中(亦将文件移动到另一个目录), newpath 必须包含新的文件名。如下调用既将一个文件移动到另一个目录中,同时又将其改名:

rename("sub1/x", "sub2/y");点击复制复制失败已复制


如果 oldpath 指定目录名,则意在重命名该目录。这种情况下,必须保证 newpath 要么不存在,要么是一个空目录的名称,否则将会出错。


如果 oldpath 是一个目录,则 newpath 不能包含 oldpath 作为其目录前缀。例如,不能将 /home/iric/test 重命名为 /home/iric/test/demo

目录
相关文章
|
5月前
|
定位技术 Python
PowerShell批量修改、替换大量文件的文件名
PowerShell批量修改、替换大量文件的文件名
|
9月前
|
Shell Perl
批量修改文件名
批量修改文件名
239 1
|
10月前
|
搜索推荐
更改目录
写完了一篇文章,进行对标题实现一个自动更改的目的,通过word对文章标题实现一个自动更改目录的功能,在更改的过程中遇到了出现了很多不明白的地方的,也是让自己陷入了两难的境界。
33 0
|
11月前
|
Shell Perl
把当前目录(包含子目录)下所有后缀为 “.sh” 的文件后缀变更为 “.shell”,之后删除每个文件的第二行
把当前目录(包含子目录)下所有后缀为 “.sh” 的文件后缀变更为 “.shell”,之后删除每个文件的第二行。
55 1
|
程序员
win10怎么改文件后缀名格式(win10怎么显示修改文件扩展名)
win10怎么改文件后缀名格式(win10怎么显示修改文件扩展名)
678 0
bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)
bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)
1008 0
bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)

热门文章

最新文章