1. c读取文件夹下的文件
const char *to_search = "E:/myProject/c/*.bin"; //读取“E:/myProject/c/”文件夹中的以.bin结尾的文件
const char *filedir = "E:/myProject/c/";
int readDir(){
int r=0;
long handle; //用于查找的句柄
struct _finddata_t fileinfo; //文件信息的结构体
handle = _findfirst(to_search, &fileinfo); //第一次查找
if (-1 == handle) {
return -1;
}
//读单个文件,运行单个文件
//int readSinglefile=0;
const char *filename=NULL;
//filename="data2.bin";
printf("\n\n%s\n", fileinfo.name); //打印出找到的文件的文件名
//cout << "s_length:" <<strlen(filedir)+ strlen(fileinfo.name) << endl;
char *s=new char[strlen(filedir)+strlen(fileinfo.name)] ;
strcpy(s, filedir);
if(filename==NULL){
strcat(s, fileinfo.name);
r = fun(s); //对文件进行处理
}else {
strcat(s, filename);
r = fun(s); //对单个文件进行处理
return 1;
}
cout << "//*************************************************//" << endl;
while (!_findnext(handle, &fileinfo)) //循环查找其他符合的文件,知道找不到其他的为止
{
printf("%s\n", fileinfo.name);
strcpy(s, filedir);
strcat(s, fileinfo.name);
//对文件进行处理
r = fun(s);
cout << "//*************************************************//" << endl;
}
_findclose(handle); //关闭句柄
s = NULL;
delete[] s;
return 0;
}
参考:https://www.cnblogs.com/fnlingnzb-learner/p/6424563.html
2. matlab读取目录下的文件
输入:files,文件目录
返回:元胞数组filename,文件夹下的文件名。
function filename=readFiles(files)
filesmat=[files '*.mat'];
filestruct=dir(filesmat);% 获取指定文件夹下面所有mat
N=length(filestruct);
Names={};
filename=cell(N,1);
for k=1:N
Names{k}=filestruct(k).name;
fileToRead=[files Names{k}];
filename{k}=fileToRead;
end
end
示例:
fileDir='D:\myProject\matlab\';
filenames=readFiles(fileDir);
% 循环读取文件
for i=1:size(filenames,1)
load(filenames{i});
end