Linux:文件属性操作函数
access
/*
#include <unistd.h>
int access(const char *pathname, int mode);
作用:判断某个文件是否有某个权限,或者判断文件是否存在
参数:
- pathname:判断的文件路径
- mode:
R_OK:判断是否有读权限
w_OK:判断是否有写权限
x_OK:判断是否有执行权限
F_OK:斯文件是否存在
返回值:
成功:0
失败:-1
*/
#include <stdio.h>
#include <unistd.h>
int main(){
int ret = access("a.txt", F_OK);
if(ret == -1){
perror("access");
return -1;
}
printf("file is exixted \n");
return 0;
}
chmod
/*
#include <sys/stat.h>
int chmod(const char *pathname, mode_t mode);
修改文件的权限
参数:
- pathname:需要修改的文件的路径
- mode:需要修改的权限值,八进制的数
返回值:
成功返回0,失败返回-1
*/
#include <sys/stat.h>
#include <stdio.h>
int main(){
int ret = chmod("a.txt", 0666);
if(ret == -1){
perror("chmod");
return -1;
}
return 0;
}
truncate
/*
#include <unistd.h>#include <sys/types.h>
int truncate(const char *path, off_t length);
作用:缩减或者扩展文件的尺寸至指定的大小
参数:
-path:需要修改的文件的路径
-length:需要最终文件变成的大小
*/
#include <unistd.h>
#include <stdio.h>
int main(){
int ret = truncate("a.txt", 100);
if(ret == -1){
perror("truncate");
return -1;
}
return 0;
}