#include<string>
#include<string.h> //memset
#include<sys/stat.h>//mkdir
#include<stdlib.h>
#include<fstream>
#include<stdio.h>
using namespace std;
int mk_dir(string path,string filename)
{int res=-1;
string dir=path;
char temp[256];
memset(temp,0,sizeof(temp));
sprintf(temp,"mkdir -pm 777 %s",dir.c_str());
const char* str=temp;
cout<<"temp="<<temp<<endl;
cout<<"str="<<str<<endl;
string cmd;
cmd=str+filename;
cout<<"cmd="<<cmd<<endl;
int result=system(cmd.c_str());
return result;
}
int main()
{
string filename="test_touchf";
string path="/home/user/docu/";
cout<<mk_dir(path,filename)<<endl;
return 0;
}
实现在/home/user/docu/目录下建立一个test_touchf文件夹。
mkdir -p 表示新建目录与子目录
mkdir -m 表示新建目录并添加改哪目录权限
mkdir -pm 700 test02/test02 新建目录与子目录 ,并赋予权限。