C語言 mkdir 建立多級目錄
阿新 • • 發佈:2019-01-23
通過例子來說明:
我要在當前目錄下建立 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)
即可