需要用到<io.h>
中的结构体_finddata_t
,和函数_findfirst(), _findnext(), _findclose()
#include <io.h>
#include <iostream>
using namespace std;
int main(){
//定义结构体,在查找时,该结构体中存储了查找到文件相应的属性
_finddata_t file;
//查找所有文件,如果查找失败,则返回-1;查找成功,返回相应的句柄
int k;
long HANDLE;
k = HANDLE = _findfirst("*.*" , &file);
//根据相应的句柄,可以依次查找下一个文件;直到无法查询到新的文件为止
while(k != -1){
cout << file.name << endl;
k = _findnext(HANDLE , &file);
}
_findclose(HANDLE);
return 0;
}
上面的程序可以简化:
#include <io.h>
#include <iostream>
using namespace std;
int main(){
//定义结构体,在查找时,该结构体中存储了查找到文件相应的属性
_finddata_t file;
//查找所有文件,如果查找失败,则返回-1;查找成功,返回相应的句柄
long HANDLE;
HANDLE = _findfirst("*.*", &file);
//根据相应的句柄,可以依次查找下一个文件;直到无法查询到新的文件为止
do{
cout << file.name << endl;
}while (!_findnext(HANDLE, &file));
_findclose(HANDLE);
return 0;
}
参考资料:
[1]. 新浪博客:用 _findfirst 和 _findnext 查找文件
[2]. _finddata_t:结构体内容