简化版chmod下令的实现
chmod下令
chmod 下令是用来修改用户对文件的权限的下令。下面我们将通过sys/types.h和sys/stat.h头文件中的chmod函数实现一个简化版的chmod下令。
下令格式
chmod函数
在编写my_chmod时,我们要用到sys/types.h和sys/stat.h头文件中的chmod函数。这个函数的函数原型是:
- 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 |