Date 2019/03/29 Add by WJB
在存储文件时,想让文件存在固定位置;但是,指定的文件夹不应定存在,所以就想实现检查指定文件夹是否存在,不存在则创建文件夹。在调用C++接口时,总是无法创建指定的文件夹,原因是,如果没有上级文件夹,则无法创建。解决方法是:逐级检测文件是否存在,不存在则创建文件夹;
代码实现如下:
#include <string>
#include <io.h>
#include <stdio.h>
#include <stdlib.h>
#include <direct.h>
#include <vector>
void createDir(const char * path)
{
string str(path);
int pos= str.find_last_of("\\");
//文价夹位置
str = str.substr(0,pos);
vector<std::string> filenames;
while (_access(str.c_str(), 0) == -1)
{
pos = str.find_last_of("\\");
string name = str.substr(pos, str.length()-1);
filenames.push_back(name);
str = str.substr(0, pos);
}
for (int i = filenames.size()-1; i>= 0; i--)
{
str += filenames[i];
mkdir(str.c_str());
}
}