需要用到<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:結構體內容