C语言系统调用实现chmod

这篇博客介绍了如何使用C语言系统调用实现Linux下的chmod功能,虽然未涵盖所有选项,但重点讲解了涉及的函数及位运算知识。通过示例代码展示了chmod的基本操作,并强调了Linux系统的命令复杂性。
摘要由CSDN通过智能技术生成
/*2018-7-24  */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
/*my_chmod.c 改变文件访问权限 */
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
 
int main(int argc,char *argv[])
{
    //检查参数
    if(argc < 3) {
        printf("错误引用");
        return 0;
    }
 
    struct stat buf;
    if(argv[1][0] >= '0' && argv[1][0] <= '9') {
        int     mode;   //权限
        int     mode_u; //所有者权限
        int     mode_g; //用户组权限
        int     mode_o; //其他用户权限
 
        //获取命令行参数
        mode_u = argv[1][0] - '0';
        mode_g = argv[1][1] - '0';
        mode_o = argv[1][2] - '0';
        mode = mode_u*8*8 + mode_g*8 + mode_o;
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值