c++中,<io.h>中的_access可以判断文件是否存在,<direct.h>中的_mkdir可以创建文件。
建单级目录:
#include <io.h>#include <direct.h>#include <string>int main(){std::string prefix = "G:/test/";if (_access(prefix.c_str(), 0) == -1)//如果文件夹不存在_mkdir(prefix.c_str());//则创建}
建多级目录:
最后一个如果是文件夹的话,需要加上 '\\' 或者 '/'
#include <io.h>#include <direct.h>#include <string>int createDirectory(std::string path){int len = path.length();char tmpDirPath[256] = {0 };for (int i = 0; i < len; i++){tmpDirPath[i] = path[i];if (tmpDirPath[i] == '\\' || tmpDirPath[i] == '/'){if (_access(tmpDirPath, 0) == -1){int ret = _mkdir(tmpDirPath);if (ret == -1) return ret;}}}return 0;}