windows下c++新建文件夹
#include <direct.h>
#include <iostream>
using namespace std;
int main()
{
string path= "E:/test/";
if (GetFileAttributesA(path.c_str()) != FILE_ATTRIBUTE_DIRECTORY) {
bool flag = CreateDirectory(path.c_str(), NULL);
}
else {
cout << path<< endl;
cout << "Directory already exists." << endl;
}
return 0;
}
windows下获取当前目录下的所有文件夹&所有文件和文件夹
bool GetAllFolder(string path, vector<string>& folder) {
intptr_t hFile = 0;
//文件信息
struct _finddata_t folderInfo;
string p;
if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &folderInfo)) != -1) {
do {
if ((folderInfo.attrib & _A_SUBDIR)) {
if (strcmp(folderInfo.name, ".") != 0 && strcmp(folderInfo.name, "..") != 0) {
folder.push_back(p.assign(path).append("\\").append(folderInfo.name));
}
}
else {
std::cout << "not a folder!\n";
}
} while (_findnext(hFile, &folderInfo) == 0);
_findclose(hFile); //结束查找
}
return true;
}
//获取所有的文件名
void GetAllFiles(string path, vector<string>& files)
{
intptr_t hFile = 0;
//文件信息
struct _finddata_t fileinfo;
string p;
if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1)
{
do
{
if ((fileinfo.attrib & _A_SUBDIR))
{
if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)
{
files.push_back(p.assign(path).append("\\").append(fileinfo.name));
GetAllFiles(p.assign(path).append("\\").append(fileinfo.name), files);
}
}
else
{
files.push_back(p.assign(path).append("\\").append(fileinfo.name));
}
} while (_findnext(hFile, &fileinfo) == 0);
_findclose(hFile);
}
}