修复了上级目录不存在创建失败的BUG
#include <stdio.h>
#include <unistd.h>
#include <string.h>
int MKDIR(char *path) //创建目录
{
int len = strlen(path);
char pathname[255]; //用于存储上级目录
memset(pathname,0,sizeof(pathname));
while(path[len] != '/')
{
len--;
}
strncpy(pathname,path,len); //存储上级目录
if(access(pathname,F_OK) == 0) //若上级目录已存在
{
int i=0;
mkdir(path,0755); //创建目标目录
}
else
{
MKDIR(pathname); //递归创建上级目录
mkdir(path,0755); //创建上级目录后创建目标目录
}
printf("Create %s success\n",path);
}
int main(int argc,char *argv[])
{
if(argc != 2)
{
printf("本程序运行要带一个参数,即文件或目录名\n");
printf("fg : ./MKDIR filepath\n"); return -1;
}
MKDIR(argv[1]);
}