c/c++、matlab读取文件夹下的文件

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

 

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页