请选择 进入手机版 | 继续访问电脑版

简化版chmod命令的实现

[复制链接]
命中不缺你 发表于 2021-1-2 11:48:09 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
简化版chmod下令的实现

chmod下令

  chmod 下令是用来修改用户对文件的权限的下令。下面我们将通过sys/types.h和sys/stat.h头文件中的chmod函数实现一个简化版的chmod下令。
下令格式

  1. ./my_chmod  
复制代码
chmod函数

在编写my_chmod时,我们要用到sys/types.h和sys/stat.h头文件中的chmod函数。这个函数的函数原型是:
  1. int chmod(const char *path, mode_t mode)
复制代码
此中path是目标文件的路径,mode是我们要将文件修改成的权限。mode_t实在就是unsigned int范例。
需要注意的是参数mode应该是用八进制体现的数值。比如我们要将一个文件的权限设置为644(即rw-r–r--),那么我们向chmod函数传入的值为 0644(即十进制的420)。
如果chmod函数修改权限乐成返回0,失败返回-1。
代码实现

  [code]#include #include #include #include int main(int argc, char *argv[]){    int mode, mode_u, mode_g, mode_o;    char *path;        // 如果输入的参数个数不为3,则输出下令格式退却出    if (argc != 3)    {        printf("%s  \n", argv[0]);        exit(EXIT_FAILURE);    }    path = argv[2];    mode = atoi(argv[1]);    mode_u = mode / 100;    mode_g = mode / 10 % 10;    mode_o = mode % 10;    if (mode_u >= 0 && mode_u = 0 && mode_g = 0 && mode_o
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题

专注素材教程免费分享
全国免费热线电话

18768367769

周一至周日9:00-23:00

反馈建议

27428564@qq.com 在线QQ咨询

扫描二维码关注我们

Powered by Discuz! X3.4© 2001-2013 Comsenz Inc.( 蜀ICP备2021001884号-1 )