VC++ 6.0 中与findfirst对应的函数是什么?

来源:百度知道 编辑:UC知道 时间:2024/06/18 14:52:45
在VC++6.0 中没有Dir.h文件,把win-tc里的拷过去也没用,不知道在VC++ 6.0中查找目录中的文件?

可以使用C运行时库中的_findfirst函数
需要包括<io.h>头文件。

也可以使用API函数:FindFirstFile

声明
HANDLE FindFirstFile(
LPCTSTR lpFileName, // file name
LPWIN32_FIND_DATA lpFindFileData // data buffer
);

功能说明
该函数到一个文件夹(包括子文件夹)去搜索指定文件 如果要使用附加属性去搜索文件的话 可以使用FindFirstFileEx函数

参数说明
HANDLE hFindFile搜索的文件句柄 函数执行的时候搜索的是此句柄的下一文件
LPWIN32_FIND_DATA lpFindFileData 指向一个用于保存文件信息的结构体

返回值
如果调用成功返回一个非0值
调用失败 返回为0 可调用GetLastError来获取错误信息

也可以使用MFC的CFileFind类,CFileFind类中有FindFile成员函数,例如,返回一个目录下指定的文件可以使用下面的函数:

//参数szDirs:要查询的目录
//参数szFileName:要查询的文件名,可以使用通配符,如:*.txt
//参数aFileArray:这是一个字符串动态数组,用来保存查询的文件名
void FindFiles(LPCTSTR szDir,LPCSTR szFileName,CStringArray & aFileArray)
{
CFileFind tempFind; //声明一个CFileFind类变量,以用来搜索
char tempFileFind[MAX_PATH]; //用于定义搜索格式
sprintf(tempFileFind,"%s\\%s",szDir,szFileName);//匹配格式为*.*,即该目录下的所有文