函数chmod

chmod函数是用来更改文件权限的。函数原型和依赖的头文件如下:

#include 

int chmod(const char *pathname, mode_t mode);
int fchmod(int fd, mode_t mode);

chmod是对指定的文件进行操作,而fchmod则是对已经打开的文件进行操作。所以它们的第一个参数不一样。下面给出一个实例。

#include 
#include 
#include 
#include 
#include 
#include 

int main()
{
    int fd = open("a",O_RDWR);
    if (-1 == fd)
    {
       perror("open fail");
       exit(1);
    }

    if(-1 == fchmod(fd,0777))
    {
        perror("fchmod fail");
        exit(1);
    }

    if (-1 == chmod("b",0777))
    {
       perror("fchmod fail");
       exit(1);
    }
    
    close(fd);
    return 0;
}

运行结果如下所示:

函数chmod_第1张图片

注意到文件的时间并没有改变,这是因为chmod函数更新的是i节点最近一次被更改的时间,而ls命令列出的是最后一次修改文件内容的时间。

你可能感兴趣的:(Linux环境编程)