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!");

  }

另见

FileFindFirstFileFindClose