1. 程式人生 > >C語言 mkdir 建立多級目錄

C語言 mkdir 建立多級目錄

通過例子來說明:

我要在當前目錄下建立 head/follow/end/ 目錄

C語言中mkdir原型為int mkdir(const char *pathname, mode_t mode);

mkdir()函式以mode方式建立一個以pathname為名字的目錄,mode定義所建立目錄的許可權

返回值: 0:目錄建立成功   -1:建立失敗

mkdir只能一次建立一層目錄

有兩種實現方式

一:直接建立

#include<sys/stat.h>
#include<sys/types.h>
mkdir("head",0777);
mkdir("head/follow".0777);
mkdir("head/follow/end",0777);

二:寫函式

void mkdirs(char *muldir) 
{
    int i,len;
    char str[512];    
    strncpy(str, muldir, 512);
    len=strlen(str);
    for( i=0; i<len; i++ )
    {
        if( str[i]=='/' )
        {
            str[i] = '\0';
            if( access(str,0)!=0 )
            {
                mkdir( str, 0777 );
            }
            str[i]='/';
        }
    }
    if( len>0 && access(str,0)!=0 )
    {
        mkdir( str, 0777 );
    }
    return;
}
之後呼叫

mkdirs(head/follow/end)

即可