access判断文件的权限和是否存在
int access(const char *pathname,int mode)
pathname文件
mode具体权限R_OK W_OK X_OK F_OK
返回值:如果有权限或者文件存在,对应返回0;失败返回-1,设置errno
access.c
#include<stdio.h>
#include<unistd.h>
int main(int argc,char *argv[])
{
if(argc!=2){
printf("./a.out filename\n");
return -1;
}
if(access(argv[1],R_OK)==0) printf("%s read ok!\n",argv[1]);
if(access(argv[1],W_OK)==0) printf("%s write ok!\n",argv[1]);
if(access(argv[1],X_OK)==0) printf("%s exe ok!\n",argv[1]);
if(access(argv[1],F_OK)==0) printf("%s file exists!\n",argv[1]);
return 0;
}
truncate截断文件
int truncate(const char *path,off_t length)
path文件名,对应的文件必须存在
length长度,如果大于原文件直接拓展,如果小于原文件则截断
返回值:成功返回0;失败返回-1,设置errno
truncate.c
#include<stdio.h>
#include<unistd.h>
#include<sys/type.h>
int main(int argc,char *argv[])
{
truncate("hello",4);
return 0;
}