atexit函数、t 权限位以及FILE结构

一.atexit()函数

当使用atexit函数连续注册三个函数时,当进程退出时这三个函数的调用顺序如何

先看一下下面的代码


运行结果如下图:


根据结果可知,先运行的是fun3,其次是fun2,最后是fun1.

二.t 权限位

粘滞位,位于o(other)的  x  位,原位置有执行权限,就置为 t ,否则置为 T .   

        我们知道/tmp是系统的临时文件目录,所有的用户在该目录下拥有所有的权限,也就是说在该目录下可以任意创建、修改、删除文件,那如果用户A在该目录下创建了一个文件,用户B将该文件删除了,这种情况我们是不能允许的。为了达到该目的,就出现了stick bit(粘滞位)的概念。它是针对目录来说的,如果该目录设置了stick bit(粘滞位),则该目录下的文件除了该文件的创建者和root用户可以删除和修改/tmp目录下的stuff,别的用户均不能动别人的,这就是粘滞位的作用。 

三 .FILE

struct   _iobuf   { 
         char   *_ptr;                  //文件输入的下一个位置 
         int       _cnt;                   //当前缓冲区的相对位置 
         char   *_base;              //指基础位置(应该是文件的其始位置) 
         int       _flag;                  //文件标志 
         int       _file;                   //文件的有效性验证 
         int       _charbuf;           //检查缓冲区状况,如果无缓冲区则不读取 
         int       _bufsiz;              //文件的大小 
         char   *_tmpfname;     //临时文件名 
}; 
typedef   struct   _iobuf   FILE;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值