自动创建文件夹的两种方法
1、CreateDictionary()
CreateDirectory(myPath, 0); //在临时文件夹中创建本应用的文件夹
原型为:BOOL WINAPI CreateDirectory(__in LPCTSTR lpPathName, __in LPSECURITY_ATTRIBUTES lpSecurityAttributes);
其中lpPathName是要创建的目录的路径,第2个涉及安全性问题 传NULL就好了
例如:
char path[MAX_PATH] = "";GetTempPath(MAX_PATH, path);//将本机的临时目录的路径找到并存于字符数组path中,MAX_PATH表示字符数组最大长度CString myPath = path + CString("ProcessAssistantFile\\");//在路径后加上新建文件夹的名字CreateDirectory(myPath, 0); //在临时文件夹中创建本应用的文件夹
_mkdir 建立一个新的子目录
需要注意的是 windows下的_mkdir()只需要一个路径的参数,原型:int _mkdir(const char* dirname);
eg1:
inline void createFolder(const char* folder){ _mkdir(folder);}
eg2:用系统命令的方式,即system(),在头文件stdio.h中
#include#include #include using namespace std;int main(){ int counter = 0; while(1) { string stringdir = " ABCDEF "+counter ; system(("mkdir "+stringdir).c_str() ); //c_str()将string类型转char*类型,getBuffer()把Cstring类型转char*类型 counter++; }}
而linux下的mkdir()需要两个参数,第一个是路径,第二个是权限
int mkdir(const char* path,mode_t mode);
#include#include ...int status;...status = mkdir("/home/cnd/mod1", S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH);
也可以用系统命令的方式,即system(),在头文件stdio.h中
void createFolder(const char* folder){ char str[128]; sprintf(str, "mkdir %s", folder); //folder为传入的待新建的文件夹名,sprintf可连接语句 system(str); //创建文件夹}