FileFindNext
FileFindNext
函数继续通过 FileFindFirst()搜索起始位置。
bool FileFindNext(
long search_handle, // 搜索处理程序
string& returned_filename // 找到的文件或子目录的名称
);参量
- search_handle
[in] 搜索处理,通过 FileFindFirst()恢复。
- returned_filename
[out] 找到的下一个文件或子目录的名称。仅返回文件名(包括扩展名),无论它们是否在搜索过滤器中指定,都不会包括目录和子目录。
返回值
如果成功,返回真值,否则返回错误值。
示例:
//--- 启动脚本时显示输入参数的窗口
#property script_show_inputs
//--- 过滤器
input string InpFilter="*";
//+------------------------------------------------------------------+
//| 脚本程序启动开始 |
//+------------------------------------------------------------------+
void OnStart()
{
string file_name;
int i=1;
//--- 在本地文件夹根目录下接收搜索句柄
long search_handle=FileFindFirst(InpFilter,file_name);
//--- 检查FileFindFirst()函数是否成功执行
if(search_handle!=INVALID_HANDLE)
{
//--- 检查循环中传递的字符串是否是文件或目录名称
do
{
ResetLastError();
//--- 如果是文件,函数将返回true,如果是目录,函数将生成错误ERR_FILE_IS_DIRECTORY。
FileIsExist(file_name);
PrintFormat("%d : %s name = %s",i,GetLastError()==ERR_FILE_IS_DIRECTORY ? "Directory" : "File",file_name);
i++;
}
while(FileFindNext(search_handle,file_name));
//--- 关闭搜索句柄
FileFindClose(search_handle);
}
else
Print("Files not found!");
}