linux c语言创建多级目录

/* mkdir 一次只能创建一级目录,怎样创建多级目录.
 * 用access 判断目录是否已经创建.
 * 用mkdir逐级创建目录
 */
#include 
#include 
#include 
#include 
int mkdirs(char *path) 
{
    char str[512];    
    strncpy(str, path, 512);
    int len=strlen(str);
    for(int i=0; i0 && access(str,0)!=0 ) //检查最后一级目录
    {
        mkdir( str, 0755 ); //若不可访问,则创建该目录.
    }
	struct stat s;
	stat(path,&s);
	if(S_ISDIR(s.st_mode) )return 0;
    return 1;
}

int main()
{
	int ret=mkdirs("/tmp/34/56/abc");
	printf("ret is %d\n",ret);
	return 0;
}

你可能感兴趣的:(#,C,编程,c语言,创建多级目录,mkdir,access)