win10 下使用_findfirst 和_findnext 遍历某文件夹下特定类型文件

本文展示了一个使用C++进行文件搜索的示例程序。该程序利用_findfirst和_findnext函数来查找指定目录下的所有.jpg文件,并打印出文件名。需要注意的是,在不同操作系统版本下,句柄的数据类型可能有所不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<io.h>
#include<stdio.h>
int main()
{
long long Handle;
_finddata_t FileInfo;
if ((Handle = _findfirst("集装箱图片\\*.jpg", &FileInfo)) == -1L)//搜索与指定的文件名称匹配的第一个实例,若成功则返回第一个实例的句柄,否则返回 - 1L
{
printf("没有找到匹配的项目\n");
// printf("%s\n", FileInfo.name);
}
else
{
printf("%s\n", FileInfo.name);
while(_findnext(Handle, &FileInfo) == 0)  //搜索与_findfirst函数提供的文件名称匹配的下一个实例,若成功则返回0,否则返回-1
{
printf("##");
printf("%s\n", FileInfo.name);
}
//
_findclose(Handle); //若关闭成功返回0,失败返回 - 1。
}
return 0;

}

_findfirst()函数原型为

int _findnext (intptr_t  handle,struct _finddata_t *fileinfo);

_findnext()第一个参数”路径句柄”,返回的类型为intptr_t(long long),如果定义为long,在win7中是没有问题,但是在win10中就要改为long long或者intptr_t  ,否则不会遍历文件内所有文件


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值