知识点:
①遍历文件夹中内容
②文件拷贝
一、遍历文件夹内容
注:以*.方式表示查询所有类型文件,以.jpg、*.txt等方式表示具体的类型
二、被放置文件夹
注:首先检验是否存在文件夹,不存在则自动创建
if (_access(savePath_in, 0) == -1)
{
string saveP(savePath_in);
_mkdir(saveP.c_str());
}
注:文件拷贝方式
ofstream out(save, ios::binary);
out << in.rdbuf();
//文件夹内容拷贝(仅拷贝第一层内容文件)
int fileCopy(const char* imagePath_in,const char* savePath_in)
{
//检查是否存在savePath_in,没有的话进行创建
if (_access(savePath_in, 0) == -1)
{
string saveP(savePath_in);
_mkdir(saveP.c_str());
}
//检测是否存在原始图像文件
if (_access(imagePath_in, 0) == -1)
{
return -1;
}
string path(imagePath_in);
path = path + "//*.*";
const char* imageFile = path.c_str();
_finddata64i32_t fileInfo;
intptr_t hFile = _findfirst(imageFile, &fileInfo);
vector<string> files;
if (hFile == -1) {
files.clear();
return -1;
}
do
{
files.push_back(fileInfo.name);
} while (_findnext(hFile, &fileInfo) == 0);
//文件拷贝
for (int i = 0; i < files.size(); i++)
{
string source(imagePath_in);
source = source + "//" + (string)files[i];
ifstream in(source, ios::binary);
string save(savePath_in);
save = save + "//" + (string)files[i];
ofstream out(save, ios::binary);
out << in.rdbuf();
in.close();
out.close();
}
return 0;
}