主要参与函数:
_findfirst,_fiindNext, _findClose()
头文件:
“io.h"
函数原型与功能:
long __cdecl _findfirst(const char *, struct _finddata_t *)
搜索与指定的文件名称匹配的第一个实例,若成功则返回第一个实例的句柄,否则返回-1L
int __cdecl _findnext(long, struct _finddata_t *);
搜索与_findfirst函数提供的文件名称匹配的下一个实例,若成功则返回0,否则返回-1
BOOL FindClose( HANDLE hFindFile ); // file search handle
关闭FindFirstFile创建的搜索句柄
参数说明:HANDLE hFindFile FindFirstFile创建的句柄
返回值
调用成功 返回一个非0值
失败 返回0 可利用GetLastError来得到错误信息
程序实例:
#include "stdafx.h"
#include <iostream>
#include <io.h>
#include <string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
_finddata_t file;
long longf;
//_findfirst返回的是long型; long __cdecl _findfirst(const char *, struct _finddata_t *)
if((longf = _findfirst("d://testFile//*.*", &file))==-1l)
{
cout<<"文件没有找到!/n";
}
else
{
cout<<"/n文件列表:/n";
//int __cdecl _findnext(long, struct _finddata_t *);如果找到下个文件的名字成功的话就返回0,否则返回-1
string tempName;
while( _findnext( longf, &file ) == 0 )
{
tempName = "";
tempName = file.name;
if (tempName == "..")
{
continue;
}
cout<<file.name;
if(file.attrib == _A_NORMAL)
{
cout<<" 普通文件 ";
}
else if(file.attrib == _A_RDONLY)
{
cout<<" 只读文件 ";
}
else if(file.attrib == _A_HIDDEN )
{
cout<<" 隐藏文件 ";
}
else if(file.attrib == _A_SYSTEM )
{
cout<<" 系统文件 ";
}
else if(file.attrib == _A_SUBDIR)
{
cout<<" 子目录 ";
}
else
{
cout<<" 存档文件 ";
}
cout<<endl;
}
}
// 关闭由FindFirstFile函数创建的一个搜索句柄
_findclose(longf);
return 0;
}