在一个目录下建立一个和文件名相同的文件夹

时间:2021-09-15 12:21:58
#include<iostream>
#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 新建目录与子目录 ,并赋予权限。