1.access函数
头文件:#include<unistd.h>
作用:确定文件或文件夹的访问权限。检查某个文件的存取方式,例如:只读方式、只写方式等。如果指定的存取方式有效,则函数返回0,否则函数返回-1。
函数原型:int access(const char *pathname, int mode);
参数:1:路径
2:权限判断---
在头文件unistd.h中的宏义如下:
#define R_OK 4 /* Test for read permission. */
#define W_OK 2 /* Test for write permission. */
#define X_OK 1 /* Test for execute permission. */
#define F_OK 0 /* Test for existence. */
具体含义如下:
R_OK 只判断是否有读权限
W_OK 只判断是否有写权限
X_OK 判断是否有执行权限
F_OK 只判断是否存在
2.mkdir函数
#include <sys/stat.h>
#include <sys/types.h>
int mkdir(const char *pathname, mode_t mode);
参数:1:创建目录路径
2:创建文件的模式
demon
#include<stdio.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
//创建一个目录,成功返回0,失败返回-1
int create_dir(const char *path)
{
int ret;
if (NULL == path) {
printf("param_error\n");
return -1;
}
if (access(path, F_OK) >= 0) {
return 0;
}
ret = mkdir(path, 0777);
return ret;
}
int main(int argc,const char *argv[])
{
if(argc!=2){
printf("argv param_error\n");
}
if(-1 == create_dir(argv[1]))
{
printf("create dir fail\n");
}
return 0;
}
运行结果