#include <iostream>
#include <string>
#include <fstream>
#include <vector>
#include <io.h>
using namespace std;
//从jm文件中拷贝内容到另一个不jm文件,,注意不能通过程序读加密文件的内容,读出来的内容会被加密
void opfile(string filename){
int pos = 0;
pos = filename.find("."); //查找指定字符出现的位置
string filehead = "D:\\MINI-ATE\\MultSite\\workspace\\HK32F031F4P6_20Pin_2Site\\pattern"; // pat目录头
string readFilename = filehead + "\\" + filename; //读取的加密文件的path
string writeFilename = filehead + "\\NOSecret\\" + filename + ".csv";//.substr(0, pos); //将加密文档的内容重新写入文件的path
string tempstr; //临时接收
ifstream in(readFilename, ifstream::binary);
ofstream out(writeFilename, ofstream::app);
if(in.is_open()){
while(!in.eof()){
getline(in, tempstr);
// cout << tempstr.c_str() <<endl;
out << tempstr;
}
}else{
cout << "Not Found File"<<endl;
}
in.close();
out.close();
}
// 获取文件夹下所有文件name
void getFileName(){
char* filepath = (char *)"D:\\MINI-ATE\\MultSite\\workspace\\HK32F031F4P6_20Pin_2Site\\pattern\\*"; //查找的文件夹目录,*代表任何,包括文件和文件夹
vector<string> files; //存储文件名的容器
struct _finddata_t fileinfo; //定义一个文件信息的结构体,在io.h中
long fHandle; // 查找文件函数返回的句柄,找不到返回-1L
int i = 1; //文件个数
//_findfirst(文件目录,文件信息)将文件目录下的第一个文件信息保存在文件信息中
if((fHandle = _findfirst(filepath, &fileinfo)) == -1L){
cout << "No Found File" << endl;
}
else{
do{
if(fileinfo.attrib != _A_SUBDIR) //其实目录也是有名字的 当前目录 . 上级目录 ..
{
files.push_back(fileinfo.name);
cout << "正在处理第" << i << "个文件,文件名是:"<< files[i-1] << endl;
string rename = fileinfo.name;
opfile(rename);
i++;
}
}while(_findnext(fHandle, &fileinfo)==0);
}
_findclose(fHandle); //关闭句柄
}
int main(){
getFileName();
return 0;
}