【C++】获取当前文件夹内的所有文件

1、64(路径要到最里层文件夹)

//path:文件路径   files:存文件名的vector  suffix:文件后缀,不用加点

void get_file_name(string path, vector<string>&  files, string suffix)
{
__int64  Handle;
struct __finddata64_t  FileInfo;
string p;
string suffix2 = "\\*." + suffix;
if ((Handle = _findfirst64(p.assign(path).append(suffix2).c_str(), &FileInfo)) != -1)
{
do{
files.push_back(p.assign(path).append("\\").append(FileInfo.name));
} while (_findnext64(Handle, &FileInfo) == 0);
_findclose(Handle);
}
}



2、32(参数意义一致,非原创,没找到原文链接,侵权删,可获取子文件夹内的文件)

void get_file_name(string path, vector<string>&  files, string suffix)
{
//获取文件名列表放到参数中的vector

long hFile = 0;
struct _finddata_t fileinfo;
string p;
//cout << path<< endl;
string suffix2 = "\\*." + suffix;
if ((hFile = _findfirst(p.assign(path).append(suffix2).c_str(), &fileinfo)) != -1)
{
//cout << "sub" << endl;
do{
if ((fileinfo.attrib &  _A_SUBDIR))
{
if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)
get_file_name(p.assign(path).append("\\").append(fileinfo.name), files, suffix);
}
else
{
files.push_back(p.assign(path).append("\\").append(fileinfo.name));
}
} while (_findnext(hFile, &fileinfo) == 0);
_findclose(hFile);
}
}


3、Matlab

fileFolder=fullfile('E:\test\0001');
dirOutput=dir(fullfile(fileFolder,'*.jpg'));
fileNames={dirOutput.name}';



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值