Stat函数与chmod函数的配合使用:
/*
两个问题:
1.如何查看一个文件的访问权限??
2.如何修改一个文件的访问权限??
那么,我们就来解决这两个问题:
1.我们使用stat()
stat()函数原型:
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
int stat(const char *path,struct stat *buf);
chmod()函数的使用:
函数原型:
#include<sys/stat.h>
intchmod(const char*path,mode_t mode);
*/
#include<stdio.h>
#include<unistd.h>
#include<fcntl.h>
#include<errno.h>
#include<sys/stat.h>
int main()
{
//使用stat()函数把文件的权限信息copy过来
struct stat buf;
intrvalue=stat("/home/code/file1/my.txt",&buf);
if(rvalue<0)
{
perror("stat error");
_exit(0);
}
printf("error is happening!\n");
printf("nowprint the file'stat:\n");
printf("the mode_t is :%d\n",buf.st_mode);
printf("nowi will change the mode of the file:......\n");
int a= chmod("/home/code/file1/my.txt",S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
if(a>0)
printf("successon changing!");
else
printf("errorchange\n");
return0;
}
运行截图: