FileFindNext

이 함수는 FileFindFirst()에 의해 시작된 검색을 계속 합니다.

bool  FileFindNext(
   long      search_handle,         // 검색 핸들
   string&   returned_filename      // 발견된 파일 또는 하위 디렉토리의 이름
   );

Parameters

search_handle

[in]  검색 핸들, FileFindFirst()로 검색.

returned_filename

[out] 발견된 다음 파일 또는 하위 디렉토리의 이름. 파일명(확장자 포함), 디렉토리 및 하위 디렉토리만 검색 필터에 지정되었는지 여부에 관계없이 포함되지 않습니다.

반환 값

성공하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

예:

//--- 스크립트를 시작할 때 입력 매개 변수 창을 표시합니다
#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("파일을 찾을 수 없습니다!");
  }

더 보기

FileFindFirst, FileFindClose