rename(更改文件名称或位置)

相关函数 link,unlink,symlink

表头文件 #include

定义函数 int rename(const char * oldpath,const char * newpath);

函数说明 rename()会将参数oldpath 所指定的文件名称改为参数newpath所指

的文件名称。若newpath所指定的文件已存在,则会被删除。

返回值 执行成功则返回0,失败返回-1,错误原因存于errno

(1) 如果oldname为一个文件:

如果newname已存在,而且是一个目录,则不能重命名。

如果newname已存在,而且是一个文件,则先将newname文件先删除,然后将oldname更名为newname。

对oldname所在目录以及newname所在的目录,调用进程必须具有写许可权,因为将更改这两个目录。

(2) 如若oldname为一个目录:

如果newname已存在,且是一个空目录(空目录指的是该目录中只有. 和.. 项),则先将此目录删除,然后重命名。

如果newname存在,但不是一个空目录,则不能重命名。

如果newname存在,且是一个文件,则不能重命名。

另外,当为一个目录更名时,newname不能包含oldname作为其路径前缀。例如,不能将/usr/foo 更名为/usr/foo/testdir,因为老名字( /usr/foo)是新名字的路径前缀,因而不能将其删除。

(3) 如若oldname为一个 链接:

跟(1)一样。但只重命名 链接本身。

(4) 作为一个特例,如果oldname和newname引用同一文件,则函数不做任何更改而成功返回。

linux下rename函数,linux下的rename函数说明相关推荐

  1. 【转】Linux下c++调用自己编写的matlab函数:通过mcc动态链接库.so实现

    转自:Linux下c++调用自己编写的matlab函数:通过mcc动态链接库.so实现_Jaster_wisdom的专栏-CSDN博客 之前在这里和这里调用了matlab自带的一些函数,是通过matl ...

  2. linux编译c如何延时,linux和windows下,C/C++开发的延时函数,sleep函数

    简介: 函数名: sleep 功 能: 执行挂起一段时间 用 法: unsigned sleep(unsigned seconds); 在VC中使用带上头文件 #include 在gcc编译器中,使用 ...

  3. linux c控制进程并发量,浅谈Linux环境下并发编程中C语言fork()函数的使用

    由fork创建的新进程被称为子进程(child process).fork函数被调用一次,但返回两次.子进程的返回值是0,而父进程的返回值则是新进程的进程ID.将子进程ID返回给父进程的理由是:因为一 ...

  4. linux select函数好处,linux下的epoll较之传统的select函数比较其优点

    linux下的epoll较之传统的select函数比较其优点 突破了单进程打开SOCKET描述符最大数目的限制,select单进程打开FD的数据是有限制的,由FD_SETSIZE设置,默认值是2048 ...

  5. linux下编写打印文件的函数,Linux系统编程笔记-文件IO

    本文主要介绍了如下内容: C标准库函数与系统函数的关系 进程控制块 文件描述符 系统调用:open.close.read.write.lseek.fcntl和ioctl 先导概念 C标准库函数与系统函 ...

  6. linux哈希函数,OpenSSL下hash函数

    OpenSSL下hash函数:是不可逆的函数,它的输入可以是任意长度的字节流.它的输出是固定大小的,hash函数的作用就是给你的文件产生一个摘要,它是独一无二的. 通过OpenSSL提供FTP+SSL ...

  7. linux下wait函数,Linux wait函数详解

    wait和waitpid出现的原因 SIGCHLD --当子进程退出的时候,内核会向父进程SIGCHLD信号,子进程的退出是个异步事件(子进程可以在父进程运行的任何时刻终止) --子进程退出时,内核将 ...

  8. Linux下perf性能测试火焰图只显示函数地址不显示函数名的问题

    Linux下perf性能测试火焰图只显示函数地址不显示函数名的问题   最近在centos机器上安装perf对代码做性能测试.百度了一通,使用yum install perf* 这个命令就可以了,结果 ...

  9. c语言timer linux 回调函数_Linux下用C语言实现定时器

    2020-02-22 关键字:alarm().setitimer().拦截定时器信号.定时器信号有效范围 在 Linux 中实现定时器功能的比较简单且好用的系统内置的方法有两种: 1.alarm() ...

  10. Linux下设备树中常用的of操作函数举例

    文章目录 前言 一.在设备树中添加自定义节点 二.用到的of函数简介 1.用到的结构体 2.各of函数介绍 1>.of_find_node_by_path 2>.of_find_prope ...

最新文章

  1. C#开发Unity游戏教程之游戏对象的行为逻辑方法
  2. 一元建站-基于函数计算 wordpress 构建 serverless 网站
  3. 《程序员修炼之道:从小工到专家》阅读笔记03
  4. Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext
  5. 团队第五次 # scrum meeting
  6. mceliece加密算法c语言,一种安全轻量的McEliece公钥掩码加密方法技术
  7. Android常用播放器对比,谁更好用?四款Android音乐播放器对比
  8. 转载天涯:『天涯杂谈』 30岁公务员小勇的一点心得
  9. 套接字的连接(服务器与客户端一对一的连接)
  10. 基于SSM+SpringBoot+MySQL+LayUI的高校学生评教系统
  11. 如何在网上赚钱,也可以在家兼职赚钱的5个网上项目分享给大家
  12. python循环5次_python基础-循环语句(5)
  13. air dots 配对_Redmi AirDots可以作为iphone的合格伴侣吗?
  14. ZJM 与霍格沃兹(字符串哈希)
  15. 如何辨别胖人多气虚阳虚,瘦人多血虚阴虚!【转】
  16. 理科类专业计算机中级或省级二级水平,2017非上海生源应届高校毕业生进沪就业评分办法|政策解读...
  17. EAUML日拱一卒-微信小程序实战:位置闹铃 (11)-稍微聪明一点
  18. 【我的故事】一个还不成熟的女程序员的苦恼
  19. Jmeter(110)——阶梯式加压线程组Stepping Thread Group
  20. Spring框架编译报could not resolve plugin artifact io.spring.dependency-management

热门文章

  1. delphi 安卓图片保存数据库_在Delphi实现在数据库中存取图像的图文演示无错
  2. 九、Pytest框架 — Pytest框架的setUp()和tearDown()函数
  3. Vulkan Samples 阅读 -- Hardware Accelerated Ray Tracing(一) Basic Ray Tracing Ray Traced Shadows
  4. Java中的tiles_Spring mvc整合tiles框架的简单入门教程(maven)
  5. swift 【block】
  6. 用Python实现简易音乐播放器(mp3类型)2
  7. R语言机器学习mlr3:基础使用
  8. 多选下拉框,带全部选项
  9. java计算机毕业设计商超零售送货到家购物系统源码+系统+数据库+lw文档+mybatis+运行部署
  10. 事务(一)——什么是事务,为什么会有事务,事务是做什么的?