页次: 1
linux修改文件的权限可以使用系统函数 chmod
函数的原型
#include <sys/stat.h> int chmod(const char *path, mode_t mode);
测试代码
#include <stdio.h> #include <sys/stat.h> int main() { const char * p_fname = "/root/a"; // 返回的结果是 -1 表示失败, 0 表示成功 if(chmod(p_fname, 0777) == -1) { perror("权限修改失败\n"); } else { printf("文件 %s 权限修改成功\n", p_fname); } return 0; }
这里要注意三点:
第一:mode_t 是一个int数, 最好使用 八进制, 和系统保持一致。
第二: chmode 执行成功的时候 返回的是 0,执行错误的时候 返回的 是 -1.
第三: 第二个参数是一个int数, 如果不是权限问题,文件不存在, 通常是都会执行成功, 就是 mode_t 写成 777 十进制的也会返回 0. 所以最好用八进制数
ipbbs.net
离线
页次: 1