다음을 통해 공유


CFileFind 수업

로컬 파일 검색을 수행하고 인터넷 파일 검색을 수행하는 기본 클래스 CGopherFileFind 입니다 CFtpFileFind.

구문

class CFileFind : public CObject

멤버

공용 생성자

속성 설명
CFileFind::CFileFind CFileFind 개체를 생성합니다.

공용 메서드

이름 설명
CFileFind::Close 검색 요청을 닫습니다.
CFileFind::FindFile 디렉터리에서 지정된 파일 이름을 검색합니다.
CFileFind::FindNextFile 이전 호출에서 파일 검색을 계속합니다 FindFile.
CFileFind::GetCreationTime 파일이 만들어진 시간을 가져옵니다.
CFileFind::GetFileName 찾은 파일의 확장명을 포함한 이름을 가져옵니다.
CFileFind::GetFilePath 찾은 파일의 전체 경로를 가져옵니다.
CFileFind::GetFileTitle 찾은 파일의 제목을 가져옵니다. 타이틀에는 확장이 포함되지 않습니다.
CFileFind::GetFileURL 찾은 파일의 URL(파일 경로 포함)을 가져옵니다.
CFileFind::GetLastAccessTime 파일에 마지막으로 액세스한 시간을 가져옵니다.
CFileFind::GetLastWriteTime 파일을 마지막으로 변경하고 저장한 시간을 가져옵니다.
CFileFind::GetLength 찾은 파일의 길이(바이트)를 가져옵니다.
CFileFind::GetRoot 찾은 파일의 루트 디렉터리를 가져옵니다.
CFileFind::IsArchived 찾은 파일이 보관되는지 여부를 확인합니다.
CFileFind::IsCompressed 찾은 파일이 압축되었는지 여부를 확인합니다.
CFileFind::IsDirectory 찾은 파일이 디렉터리인지 확인합니다.
CFileFind::IsDots 찾은 파일의 이름에 "." 또는 ".."라는 이름이 있는지 확인합니다. 이는 실제로 디렉터리임을 나타냅니다.
CFileFind::IsHidden 찾은 파일이 숨겨져 있는지 여부를 확인합니다.
CFileFind::IsNormal 찾은 파일이 정상인지 확인합니다(즉, 다른 특성이 없음).
CFileFind::IsReadOnly 찾은 파일이 읽기 전용인지 여부를 확인합니다.
CFileFind::IsSystem 찾은 파일이 시스템 파일인지 확인합니다.
CFileFind::IsTemporary 찾은 파일이 임시 파일인지 여부를 확인합니다.
CFileFind::MatchesMask 찾을 파일의 원하는 파일 특성을 나타냅니다.

보호된 메서드

속성 설명
CFileFind::CloseContext 현재 검색 핸들에 지정된 파일을 닫습니다.

보호된 데이터 멤버

속성 설명
CFileFind::m_pTM CAtlTransactionManager 개체에 대한 포인터입니다.

설명

CFileFind 에는 검색을 시작하고, 파일을 찾고, 파일의 제목, 이름 또는 경로를 반환하는 멤버 함수가 포함되어 있습니다. 인터넷 검색의 경우 멤버 함수 GetFileURL 는 파일의 URL을 반환합니다.

CFileFind 는 특정 서버 유형을 CGopherFileFind 검색하도록 설계된 두 개의 다른 MFC 클래스에 대한 기본 클래스입니다. 특히 gopher 서버에서 작동하며 CFtpFileFind FTP 서버에서만 작동합니다. 이러한 세 클래스는 서버 프로토콜, 파일 형식 또는 위치에 관계없이 클라이언트가 로컬 컴퓨터 또는 원격 서버에서 파일을 찾을 수 있는 원활한 메커니즘을 제공합니다.

다음 코드는 현재 디렉터리의 모든 파일을 열거하고 각 파일의 이름을 인쇄합니다.

CFileFind finder;
BOOL bWorking = finder.FindFile(_T("*.*"));
while (bWorking)
{
   bWorking = finder.FindNextFile();
   TRACE(_T("%s\n"), (LPCTSTR)finder.GetFileName());
} 

예제를 단순하게 유지하기 위해 이 코드는 C++ 표준 라이브러리 클래스를 cout 사용합니다. cout 예를 들어 그래픽 사용자 인터페이스가 있는 프로그램에서 줄을 호출CListBox::AddString로 바꿀 수 있습니다.

사용 CFileFind 방법 및 다른 WinInet 클래스에 대한 자세한 내용은 WinInet을 사용한 인터넷 프로그래밍 문서를 참조하세요.

상속 계층 구조

CObject

CFileFind

요구 사항

머리글: afx.h

CFileFind::CFileFind

이 멤버 함수는 개체가 CFileFind 생성될 때 호출됩니다.

CFileFind();
CFileFind(CAtlTransactionManager* pTM);

매개 변수

pTM
CAtlTransactionManager 개체에 대한 포인터

예시

CFileFind::GetFileName에 대한 예를 참조하세요.

CFileFind::Close

이 멤버 함수를 호출하여 검색을 종료하고 컨텍스트를 다시 설정하며 모든 리소스를 해제합니다.

void Close();

설명

호출Close한 후에는 새 검색을 시작하기 위해 호출 FindFile 하기 전에 새 CFileFind 인스턴스를 만들 필요가 없습니다.

예시

CFileFind::GetFileName에 대한 예를 참조하세요.

CFileFind::CloseContext

현재 검색 핸들에 지정된 파일을 닫습니다.

virtual void CloseContext();

설명

검색 핸들의 현재 값으로 지정된 파일을 닫습니다. 기본 동작을 변경하려면 이 함수를 재정의합니다.

유효한 검색 핸들을 FindFile 검색하려면 한 번 이상 또는 FindNextFile 함수를 호출해야 합니다. 및 FindNextFile 함수는 FindFile 검색 핸들을 사용하여 지정된 이름과 일치하는 이름을 가진 파일을 찾습니다.

CFileFind::FindFile

이 멤버 함수를 호출하여 파일 검색을 엽니다.

virtual BOOL FindFile(
    LPCTSTR pstrName = NULL,
    DWORD dwUnused = 0);

매개 변수

pstrName
찾을 파일의 이름을 포함하는 문자열에 대한 포인터입니다. 전달 NULL pstrNameFindFile 하면 와일드카드(*.*) 검색을 수행합니다.

dwUnused
파생 클래스를 사용하여 다형으로 만들기 FindFile 위해 예약됩니다. 0이어야 합니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다. 확장 오류 정보를 얻으려면 Win32 함수 GetLastError를 호출합니다.

설명

파일 검색을 시작하기 위해 호출 FindFile 한 후 후속 파일을 검색하도록 호출 FindNextFile 합니다. 다음 특성 멤버 함수를 호출하기 전에 한 번 이상 호출 FindNextFile 해야 합니다.

예시

CFileFind::IsDirectory에 대한 예를 참조하세요.

CFileFind::FindNextFile

이 멤버 함수를 호출하여 이전 호출에서 파일 검색을 계속합니다 FindFile.

virtual BOOL FindNextFile();

Return Value

파일이 더 있는 경우 0이 아닌 경우 파일이 디렉터리의 마지막 파일이거나 오류가 발생한 경우 0입니다. 확장 오류 정보를 얻으려면 Win32 함수 GetLastError를 호출합니다. 찾은 파일이 디렉터리의 마지막 파일이거나 일치하는 파일을 찾을 수 없는 경우 함수는 GetLastError 반환합니다 ERROR_NO_MORE_FILES.

설명

다음 특성 멤버 함수를 호출하기 전에 한 번 이상 호출 FindNextFile 해야 합니다.

FindNextFile는 Win32 FindNextFile 함수를 래핑합니다.

예시

CFileFind::IsDirectory에 대한 예를 참조하세요.

CFileFind::GetCreationTime

이 멤버 함수를 호출하여 지정된 파일이 만들어진 시간을 가져옵니다.

virtual BOOL GetCreationTime(FILETIME* pTimeStamp) const;
virtual BOOL GetCreationTime(CTime& refTime) const;

매개 변수

pTimeStamp
파일이 만들어진 시간을 포함하는 구조체에 대한 포인터 FILETIME 입니다.

refTime
CTime 개체에 대한 참조입니다.

Return Value

성공하면 0이 아닌 값입니다. 실패하면 0입니다. GetCreationTime는 이 CFileFind 개체에 대해 호출된 적이 없는 경우에만 FindNextFile 0을 반환합니다.

설명

를 호출하기 전에 한 번 이상 호출 FindNextFile GetCreationTime해야 합니다.

참고 항목

모든 파일 시스템에서 동일한 의미 체계를 사용하여 이 함수에서 반환하는 타임스탬프를 구현하는 것은 아닙니다. 기본 파일 시스템 또는 서버가 시간 특성 유지를 지원하지 않는 경우 이 함수는 다른 타임스탬프를 통해 반환된 동일한 값을 반환할 수 있습니다. 시간 형식에 WIN32_FIND_DATA 대한 자세한 내용은 구조를 참조하세요. 일부 운영 체제에서 반환된 시간은 파일이 있는 컴퓨터의 로컬 표준 시간대에 있습니다. 자세한 내용은 Win32 FileTimeToLocalFileTime API를 참조하세요.

예시

CFileFind::GetLength에 대한 예를 참조하세요.

CFileFind::GetFileName

이 멤버 함수를 호출하여 찾은 파일의 이름을 가져옵니다.

virtual CString GetFileName() const;

Return Value

가장 최근에 찾은 파일의 이름입니다.

설명

GetFileName을 호출하기 전에 한 번 이상 호출 FindNextFile 해야 합니다.

GetFileName 는 파일 이름의 일부 형식을 반환하는 세 CFileFind 가지 멤버 함수 중 하나입니다. 다음 목록에서는 세 가지와 그 차이에 대해 설명합니다.

  • GetFileName 는 확장명을 포함하여 파일 이름을 반환합니다. 예를 들어 파일에 대한 사용자 메시지를 생성하도록 호출 GetFileName 하면 파일 c:\myhtml\myfile.txt 이름이 myfile.txt반환됩니다.

  • GetFilePath 는 파일의 전체 경로를 반환합니다. 예를 들어 파일에 대한 사용자 메시지를 생성하도록 호출 GetFilePath 하면 파일 c:\myhtml\myfile.txt 경로 c:\myhtml\myfile.txt가 반환됩니다.

  • GetFileTitle 는 파일 확장명을 제외한 파일 이름을 반환합니다. 예를 들어 파일에 대한 사용자 메시지를 생성하도록 호출 GetFileTitle 하면 파일 c:\myhtml\myfile.txt 제목 myfile이 반환됩니다.

예시

CFileFind finder;
static const TCHAR szFileToFind[] = _T("C:\\WINDOWS\\SYSTEM.INI");

BOOL bResult = finder.FindFile(szFileToFind);

if (bResult)
{
   finder.FindNextFile();

   TRACE(_T("Root of %s is %s\n"), szFileToFind, 
      (LPCTSTR)finder.GetRoot());

   TRACE(_T("Title of %s is %s\n"), szFileToFind, 
      (LPCTSTR)finder.GetFileTitle());

   TRACE(_T("Path of %s is %s\n"), szFileToFind,
      (LPCTSTR)finder.GetFilePath());

   TRACE(_T("URL of %s is %s\n"), szFileToFind,
      (LPCTSTR)finder.GetFileURL());

   TRACE(_T("Name of %s is %s\n"), szFileToFind,
      (LPCTSTR)finder.GetFileName());

   finder.Close();
}
else
{
   TRACE(_T("You have no %s file.\n"), szFileToFind);
}

CFileFind::GetFilePath

이 멤버 함수를 호출하여 지정된 파일의 전체 경로를 가져옵니다.

virtual CString GetFilePath() const;

Return Value

지정된 파일의 경로입니다.

설명

를 호출하기 전에 한 번 이상 호출 FindNextFile GetFilePath해야 합니다.

GetFilePath 는 파일 이름의 일부 형식을 반환하는 세 CFileFind 가지 멤버 함수 중 하나입니다. 다음 목록에서는 세 가지와 그 차이에 대해 설명합니다.

  • GetFileName 는 확장명을 포함하여 파일 이름을 반환합니다. 예를 들어 파일에 대한 사용자 메시지를 생성하도록 호출 GetFileName 하면 파일 c:\myhtml\myfile.txt 이름이 myfile.txt반환됩니다.

  • GetFilePath 는 파일의 전체 경로를 반환합니다. 예를 들어 파일에 대한 사용자 메시지를 생성하도록 호출 GetFilePath 하면 파일 c:\myhtml\myfile.txt 경로 c:\myhtml\myfile.txt가 반환됩니다.

  • GetFileTitle 은 파일 확장명을 제외한 파일 이름을 반환합니다. 예를 들어 파일에 대한 사용자 메시지를 생성하도록 호출 GetFileTitle 하면 파일 c:\myhtml\myfile.txt 제목 myfile이 반환됩니다.

예시

CFileFind::GetFileName에 대한 예를 참조하세요.

CFileFind::GetFileTitle

이 멤버 함수를 호출하여 찾은 파일의 제목을 가져옵니다.

virtual CString GetFileTitle() const;

Return Value

파일의 제목입니다.

설명

를 호출하기 전에 한 번 이상 호출 FindNextFile GetFileTitle해야 합니다.

GetFileTitle 는 파일 이름의 일부 형식을 반환하는 세 CFileFind 가지 멤버 함수 중 하나입니다. 다음 목록에서는 세 가지와 그 차이에 대해 설명합니다.

  • GetFileName 는 확장명을 포함하여 파일 이름을 반환합니다. 예를 들어 파일에 대한 사용자 메시지를 생성하도록 호출 GetFileName 하면 파일 c:\myhtml\myfile.txt 이름이 myfile.txt반환됩니다.

  • GetFilePath 는 파일의 전체 경로를 반환합니다. 예를 들어 파일에 대한 사용자 메시지를 생성하도록 호출 GetFilePath 하면 cc:\myhtml\myfile.txt:\myhtml\myfile.txt 파일 경로가 반환됩니다.

  • GetFileTitle 는 파일 확장명을 제외한 파일 이름을 반환합니다. 예를 들어 파일에 대한 사용자 메시지를 생성하도록 호출 GetFileTitle 하면 파일 c:\myhtml\myfile.txt 제목 myfile이 반환됩니다.

예시

CFileFind::GetFileName에 대한 예를 참조하세요.

CFileFind::GetFileURL

이 멤버 함수를 호출하여 지정된 URL을 검색합니다.

virtual CString GetFileURL() const;

Return Value

전체 URL입니다.

설명

를 호출하기 전에 한 번 이상 호출 FindNextFile GetFileURL해야 합니다.

GetFileURL는 형식file://path의 URL을 반환한다는 점을 제외하고 멤버 함수GetFilePath와 비슷합니다. 예를 들어 URL을 반환하기 위한 전체 URL을 가져오기 위해 myfile.txt 호출 GetFileURL 합니다file://c:\myhtml\myfile.txt.

예시

CFileFind::GetFileName에 대한 예를 참조하세요.

CFileFind::GetLastAccessTime

이 멤버 함수를 호출하여 지정된 파일에 마지막으로 액세스한 시간을 가져옵니다.

virtual BOOL GetLastAccessTime(CTime& refTime) const;
virtual BOOL GetLastAccessTime(FILETIME* pTimeStamp) const;

매개 변수

refTime
CTime 개체에 대한 참조입니다.

pTimeStamp
파일에 마지막으로 액세스한 시간을 포함하는 구조체에 대한 포인터 FILETIME 입니다.

Return Value

성공하면 0이 아닌 값입니다. 실패하면 0입니다. GetLastAccessTime는 이 CFileFind 개체에 대해 호출된 적이 없는 경우에만 FindNextFile 0을 반환합니다.

설명

를 호출하기 전에 한 번 이상 호출 FindNextFile GetLastAccessTime해야 합니다.

참고 항목

모든 파일 시스템에서 동일한 의미 체계를 사용하여 이 함수에서 반환하는 타임스탬프를 구현하는 것은 아닙니다. 기본 파일 시스템 또는 서버가 시간 특성 유지를 지원하지 않는 경우 이 함수는 다른 타임스탬프를 통해 반환된 동일한 값을 반환할 수 있습니다. 시간 형식에 WIN32_FIND_DATA 대한 자세한 내용은 구조를 참조하세요. 일부 운영 체제에서 반환된 시간은 파일이 있는 컴퓨터의 로컬 표준 시간대에 있습니다. 자세한 내용은 Win32 FileTimeToLocalFileTime API를 참조하세요.

예시

CFileFind::GetLength에 대한 예를 참조하세요.

CFileFind::GetLastWriteTime

이 멤버 함수를 호출하여 파일이 마지막으로 변경된 시간을 가져옵니다.

virtual BOOL GetLastWriteTime(FILETIME* pTimeStamp) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;

매개 변수

pTimeStamp
파일이 마지막으로 기록된 시간을 포함하는 구조체에 대한 포인터 FILETIME 입니다.

refTime
CTime 개체에 대한 참조입니다.

Return Value

성공하면 0이 아닌 값입니다. 실패하면 0입니다. GetLastWriteTime는 이 CFileFind 개체에 대해 호출된 적이 없는 경우에만 FindNextFile 0을 반환합니다.

설명

를 호출하기 전에 한 번 이상 호출 FindNextFile GetLastWriteTime해야 합니다.

참고 항목

모든 파일 시스템에서 동일한 의미 체계를 사용하여 이 함수에서 반환하는 타임스탬프를 구현하는 것은 아닙니다. 기본 파일 시스템 또는 서버가 시간 특성 유지를 지원하지 않는 경우 이 함수는 다른 타임스탬프를 통해 반환된 동일한 값을 반환할 수 있습니다. 시간 형식에 WIN32_FIND_DATA 대한 자세한 내용은 구조를 참조하세요. 일부 운영 체제에서 반환된 시간은 파일이 있는 컴퓨터의 로컬 표준 시간대에 있습니다. 자세한 내용은 Win32 FileTimeToLocalFileTime API를 참조하세요.

예시

CFileFind::GetLength에 대한 예를 참조하세요.

CFileFind::GetLength

이 멤버 함수를 호출하여 찾은 파일의 길이를 바이트 단위로 가져옵니다.

ULONGLONG GetLength() const;

Return Value

찾은 파일의 길이(바이트)입니다.

설명

를 호출하기 전에 한 번 이상 호출 FindNextFile GetLength해야 합니다.

GetLength 에서는 Win32 구조를 WIN32_FIND_DATA 사용하여 파일 크기의 값을 바이트 단위로 가져와 반환합니다.

참고 항목

MFC 7.0 GetLength 을 기준으로 64비트 정수 형식을 지원합니다. 이 최신 버전의 라이브러리로 빌드된 기존 코드는 잘림 경고가 발생할 수 있습니다.

예시

// This code fragment prints out a very verbose directory
// listing for all the files in the root directory on the
// C: drive. After the file's name, each attribute of the
// file is printed, as are the creation, last access, and 
// last write times.

CFileFind finder;

BOOL bWorking = finder.FindFile(_T("C:\\*.*"));

while (bWorking)
{
   bWorking = finder.FindNextFile();

   _tprintf_s(_T("%s\n\t"), (LPCTSTR)finder.GetFileName());
   _tprintf_s(_T("%c"), finder.IsArchived()   ? 'A' : 'a');
   _tprintf_s(_T("%c"), finder.IsCompressed() ? 'C' : 'c');
   _tprintf_s(_T("%c"), finder.IsHidden()     ? 'H' : 'h');
   _tprintf_s(_T("%c"), finder.IsNormal()     ? 'N' : 'n');
   _tprintf_s(_T("%c"), finder.IsReadOnly()   ? 'R' : 'r');
   _tprintf_s(_T("%c"), finder.IsSystem()     ? 'S' : 's');
   _tprintf_s(_T("%c"), finder.IsTemporary()  ? 'T' : 't');

   _tprintf_s(_T("\t%I64u byte(s)\n"), finder.GetLength());
   
   CTime tempTime;
   CString str;
   
   _tprintf_s(_T("\tCreated    : "));
   if (finder.GetCreationTime(tempTime))
   {
      str = tempTime.Format(_T("%c"));
      _tprintf_s(_T("%s\n"), (LPCTSTR) str);
   }
   else
   {
      _tprintf_s(_T("(unavailable)\n"));
   }

   _tprintf_s(_T("\tLast Access: "));
   if (finder.GetLastAccessTime(tempTime))
   {
      str = tempTime.Format(_T("%c"));
      _tprintf_s(_T("%s\n"), (LPCTSTR) str);
   }
   else
   {
      _tprintf_s(_T("(unavailable)\n"));
   }

   _tprintf_s(_T("\tLast Write : "));
   if (finder.GetLastWriteTime(tempTime))
   {
      str = tempTime.Format(_T("%c"));
      _tprintf_s(_T("%s\n"), (LPCTSTR) str);
   }
   else
   {
      _tprintf_s(_T("(unavailable)\n"));
   }

   _tprintf_s(_T("\n"));
} 

CFileFind::GetRoot

이 멤버 함수를 호출하여 찾은 파일의 루트를 가져옵니다.

virtual CString GetRoot() const;

Return Value

활성 검색의 루트입니다.

설명

를 호출하기 전에 한 번 이상 호출 FindNextFile GetRoot해야 합니다.

이 멤버 함수는 검색을 시작하는 데 사용되는 드라이브 지정자와 경로 이름을 반환합니다. 예를 들어 빈 문자열을 반환하는 결과를 GetRoot 사용하여 *.dat 호출 FindFile 합니다. 반환되는 결과에 GetRoot 경로(예: c:\windows\system\*.dll)FindFile를 전달합니다c:\windows\system\.

예시

CFileFind::GetFileName에 대한 예를 참조하세요.

CFileFind::IsArchived

이 멤버 함수를 호출하여 찾은 파일이 보관되어 있는지 확인합니다.

BOOL IsArchived() const;

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

애플리케이션은 구조에서 식별 WIN32_FIND_DATA 된 파일 특성을 사용하여 백업 또는 제거할 FILE_ATTRIBUTE_ARCHIVE보관 파일을 표시합니다.

를 호출하기 전에 한 번 이상 호출 FindNextFile IsArchived해야 합니다.

파일 특성의 전체 목록은 멤버 함수 MatchesMask 를 참조하세요.

예시

CFileFind::GetLength에 대한 예를 참조하세요.

CFileFind::IsCompressed

이 멤버 함수를 호출하여 찾은 파일이 압축되었는지 확인합니다.

BOOL IsCompressed() const;

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

압축된 파일은 구조에서 WIN32_FIND_DATA 식별된 파일 특성으로 FILE_ATTRIBUTE_COMPRESSED표시됩니다. 파일의 경우 이 특성은 파일의 모든 데이터가 압축되었음을 나타냅니다. 디렉터리의 경우 이 특성은 압축이 새로 만든 파일 및 하위 디렉터리의 기본값임을 나타냅니다.

를 호출하기 전에 한 번 이상 호출 FindNextFile IsCompressed해야 합니다.

파일 특성의 전체 목록은 멤버 함수 MatchesMask 를 참조하세요.

예시

CFileFind::GetLength에 대한 예를 참조하세요.

CFileFind::IsDirectory

이 멤버 함수를 호출하여 찾은 파일이 디렉터리인지 확인합니다.

BOOL IsDirectory() const;

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

디렉터리인 파일은 구조에서 WIN32_FIND_DATA 식별된 파일 특성으로 FILE_ATTRIBUTE_DIRECTORY 표시됩니다.

를 호출하기 전에 한 번 이상 호출 FindNextFile IsDirectory해야 합니다.

파일 특성의 전체 목록은 멤버 함수 MatchesMask 를 참조하세요.

예시

이 작은 프로그램은 C:\ 드라이브의 모든 디렉터리를 재귀하고 디렉터리의 이름을 출력합니다.

void Recurse(LPCTSTR pstr)
{
   CFileFind finder;

   // build a string with wildcards
   CString strWildcard(pstr);
   strWildcard += _T("\\*.*");

   // start working for files
   BOOL bWorking = finder.FindFile(strWildcard);

   while (bWorking)
   {
      bWorking = finder.FindNextFile();

      // skip . and .. files; otherwise, we'd
      // recur infinitely!

      if (finder.IsDots())
         continue;

      // if it's a directory, recursively search it

      if (finder.IsDirectory())
      {
         CString str = finder.GetFilePath();
         TRACE(_T("%s\n"), (LPCTSTR)str);
         Recurse(str);
      }
   }

   finder.Close();
}

void PrintDirs()
{
   Recurse(_T("C:"));
}

CFileFind::IsDots

이 멤버 함수를 호출하여 파일을 반복하는 동안 현재 디렉터리 및 부모 디렉터리 마커를 테스트합니다.

virtual BOOL IsDots() const;

Return Value

찾은 파일에 이름이 "." 또는 ".."이면 0이 아니고, 이는 찾은 파일이 실제로 디렉터리임을 나타냅니다. 그렇지 않으면 0입니다.

설명

를 호출하기 전에 한 번 이상 호출 FindNextFile IsDots해야 합니다.

예시

CFileFind::IsDirectory에 대한 예를 참조하세요.

CFileFind::IsHidden

이 멤버 함수를 호출하여 찾은 파일이 숨겨져 있는지 확인합니다.

BOOL IsHidden() const;

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

구조체에서 WIN32_FIND_DATA 식별된 파일 특성으로 FILE_ATTRIBUTE_HIDDEN표시된 숨겨진 파일입니다. 숨겨진 파일은 일반 디렉터리 목록에 포함되지 않습니다.

를 호출하기 전에 한 번 이상 호출 FindNextFile IsHidden해야 합니다.

파일 특성의 전체 목록은 멤버 함수 MatchesMask 를 참조하세요.

예시

CFileFind::GetLength에 대한 예를 참조하세요.

CFileFind::IsNormal

이 멤버 함수를 호출하여 찾은 파일이 일반 파일인지 확인합니다.

BOOL IsNormal() const;

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

구조체에서 WIN32_FIND_DATA 식별된 파일 특성으로 FILE_ATTRIBUTE_NORMAL표시된 파일입니다. 일반 파일에는 다른 특성 집합이 없습니다. 다른 모든 파일 특성은 이 특성을 재정의합니다.

를 호출하기 전에 한 번 이상 호출 FindNextFile IsNormal해야 합니다.

파일 특성의 전체 목록은 멤버 함수 MatchesMask 를 참조하세요.

예시

CFileFind::GetLength에 대한 예를 참조하세요.

CFileFind::IsReadOnly

이 멤버 함수를 호출하여 찾은 파일이 읽기 전용인지 확인합니다.

BOOL IsReadOnly() const;

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

읽기 전용 파일은 구조에서 WIN32_FIND_DATA 식별된 파일 특성으로 FILE_ATTRIBUTE_READONLY표시됩니다. 애플리케이션은 이러한 파일을 읽을 수 있지만 파일을 쓰거나 삭제할 수는 없습니다.

를 호출하기 전에 한 번 이상 호출 FindNextFile IsReadOnly해야 합니다.

파일 특성의 전체 목록은 멤버 함수 MatchesMask 를 참조하세요.

예시

CFileFind::GetLength에 대한 예를 참조하세요.

CFileFind::IsSystem

이 멤버 함수를 호출하여 찾은 파일이 시스템 파일인지 확인합니다.

BOOL IsSystem() const;

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

시스템 파일은 구조에서 WIN32_FIND_DATA 식별된 파일 특성으로 FILE_ATTRIBUTE_SYSTEM표시됩니다. 시스템 파일은 운영 체제의 일부이거나 운영 체제에서 단독으로 사용됩니다.

를 호출하기 전에 한 번 이상 호출 FindNextFile IsSystem해야 합니다.

파일 특성의 전체 목록은 멤버 함수 MatchesMask 를 참조하세요.

예시

CFileFind::GetLength에 대한 예를 참조하세요.

CFileFind::IsTemporary

이 멤버 함수를 호출하여 찾은 파일이 임시 파일인지 확인합니다.

BOOL IsTemporary() const;

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

임시 파일은 구조에서 WIN32_FIND_DATA 식별된 파일 특성으로 FILE_ATTRIBUTE_TEMPORARY표시됩니다. 임시 파일은 임시 스토리지에 사용됩니다. 애플리케이션은 반드시 필요한 경우에만 파일에 씁니다. 파일이 곧 삭제되므로 대부분의 파일 데이터는 미디어에 플러시되지 않고 메모리에 남아 있습니다.

를 호출하기 전에 한 번 이상 호출 FindNextFile IsTemporary해야 합니다.

파일 특성의 전체 목록은 멤버 함수 MatchesMask 를 참조하세요.

예시

CFileFind::GetLength에 대한 예를 참조하세요.

CFileFind::m_pTM

CAtlTransactionManager 개체에 대한 포인터입니다.

CAtlTransactionManager* m_pTM;

설명

CFileFind::MatchesMask

이 멤버 함수를 호출하여 찾은 파일의 파일 특성을 테스트합니다.

virtual BOOL MatchesMask(DWORD dwMask) const;

매개 변수

dwMask
구조에서 식별된 WIN32_FIND_DATA 하나 이상의 파일 특성을 찾은 파일에 대해 지정합니다. 여러 특성을 검색하려면 비트 OR(|) 연산자를 사용합니다. 다음 특성의 조합은 허용됩니다.

  • FILE_ATTRIBUTE_ARCHIVE 파일이 보관 파일입니다. 애플리케이션은 이 특성을 사용하여 백업 또는 제거를 위해 파일을 표시합니다.

  • FILE_ATTRIBUTE_COMPRESSED 파일 또는 디렉터리가 압축됩니다. 즉, 파일의 경우 파일의 모든 데이터가 압축됩니다. 디렉터리의 경우 압축이 새로 만든 파일 및 하위 디렉터리의 기본값임을 의미합니다.

  • FILE_ATTRIBUTE_DIRECTORY 파일이 디렉터리입니다.

  • FILE_ATTRIBUTE_NORMAL 파일에 다른 특성 집합이 없습니다. 이 특성은 단독으로 사용하는 경우에만 유효합니다. 다른 모든 파일 특성은 이 특성을 재정의합니다.

  • FILE_ATTRIBUTE_HIDDEN 파일이 숨겨져 있습니다. 일반 디렉터리 목록에는 포함되지 않습니다.

  • FILE_ATTRIBUTE_READONLY 파일은 읽기 전용입니다. 애플리케이션은 파일을 읽을 수 있지만 파일을 쓰거나 삭제할 수는 없습니다.

  • FILE_ATTRIBUTE_SYSTEM 파일이 운영 체제의 일부이거나 단독으로 사용됩니다.

  • FILE_ATTRIBUTE_TEMPORARY 파일이 임시 스토리지에 사용되고 있습니다. 애플리케이션은 반드시 필요한 경우에만 파일에 씁니다. 파일이 곧 삭제되므로 대부분의 파일 데이터는 미디어에 플러시되지 않고 메모리에 남아 있습니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다. 확장 오류 정보를 얻으려면 Win32 함수 GetLastError를 호출합니다.

설명

를 호출하기 전에 한 번 이상 호출 FindNextFile MatchesMask해야 합니다.

예시

// This code fragment shows all of the files in the root directory
// of drive C: which have either the hidden attribute or the system
// attribute, or both.

CFileFind finder;

BOOL bWorking = finder.FindFile(_T("C:\\*.*"));

while (bWorking)
{
   bWorking = finder.FindNextFile();

   if (finder.MatchesMask(FILE_ATTRIBUTE_HIDDEN | 
      FILE_ATTRIBUTE_SYSTEM))
   {
      _tprintf_s(_T("%s\n"), (LPCTSTR) finder.GetFileName());
   }
}

참고 항목

CObject 클래스
계층 구조 차트
CFtpFileFind 클래스
CGopherFileFind 클래스
CInternetFile 클래스
CGopherFile 클래스
CHttpFile 클래스