CFileFind 클래스

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

구문

class CFileFind : public CObject

멤버

Public 생성자

이름 Description
CFileFind::CFileFind CFileFind 개체를 생성합니다.

Public 메서드

이름 Description
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 찾을 파일의 원하는 파일 특성을 나타냅니다.

Protected 메서드

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

보호된 데이터 멤버

속성 Description
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();

설명

를 호출한 후에는 를 호출 CloseFindFile 하여 새 검색을 시작하기 전에 새 CFileFind instance 만들 필요가 없습니다.

예제

의 예제를 CFileFind::GetFileName참조하세요.

CFileFind::CloseContext

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

virtual void CloseContext();

설명

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

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

CFileFind::FindFile

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

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

매개 변수

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

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

반환 값

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

설명

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

예제

의 예제를 CFileFind::IsDirectory참조하세요.

CFileFind::FindNextFile

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

virtual BOOL FindNextFile();

반환 값

파일이 더 있는 경우 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 개체에 대한 참조입니다.

반환 값

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

설명

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

참고

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

예제

의 예제를 CFileFind::GetLength참조하세요.

CFileFind::GetFileName

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

virtual CString GetFileName() const;

반환 값

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

설명

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;

반환 값

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

설명

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

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;

반환 값

파일의 제목입니다.

설명

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

GetFileTitle 는 파일 이름의 형식을 반환하는 세 CFileFind 가지 멤버 함수 중 하나입니다. 다음 목록에서는 세 가지 및 다양한 방법을 설명합니다.

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

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

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

예제

의 예제를 CFileFind::GetFileName참조하세요.

CFileFind::GetFileURL

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

virtual CString GetFileURL() const;

반환 값

전체 URL입니다.

설명

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

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

예제

의 예제를 CFileFind::GetFileName참조하세요.

CFileFind::GetLastAccessTime

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

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

매개 변수

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

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

반환 값

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

설명

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

참고

모든 파일 시스템에서 동일한 의미 체계를 사용하여 이 함수에서 반환한 타임스탬프를 구현하는 것은 아닙니다. 이 함수는 기본 파일 시스템 또는 서버가 시간 특성 유지를 지원하지 않는 경우 다른 타임스탬프를 통해 반환된 동일한 값을 반환할 수 있습니다. 시간 형식에 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 개체에 대한 참조입니다.

반환 값

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

설명

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

참고

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

예제

의 예제를 CFileFind::GetLength참조하세요.

CFileFind::GetLength

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

ULONGLONG GetLength() const;

반환 값

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

설명

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

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;

반환 값

활성 검색의 루트입니다.

설명

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

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

예제

의 예제를 CFileFind::GetFileName참조하세요.

CFileFind::IsArchived

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

BOOL IsArchived() const;

반환 값

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

설명

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

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

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

예제

의 예제를 CFileFind::GetLength참조하세요.

CFileFind::IsCompressed

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

BOOL IsCompressed() const;

반환 값

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

설명

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

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

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

예제

의 예제를 CFileFind::GetLength참조하세요.

CFileFind::IsDirectory

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

BOOL IsDirectory() const;

반환 값

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

설명

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

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

파일 특성의 전체 목록은 멤버 함수 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;

반환 값

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

설명

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

예제

의 예제를 CFileFind::IsDirectory참조하세요.

CFileFind::IsHidden

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

BOOL IsHidden() const;

반환 값

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

설명

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

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

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

예제

의 예제를 CFileFind::GetLength참조하세요.

CFileFind::IsNormal

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

BOOL IsNormal() const;

반환 값

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

설명

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

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

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

예제

의 예제를 CFileFind::GetLength참조하세요.

CFileFind::IsReadOnly

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

BOOL IsReadOnly() const;

반환 값

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

설명

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

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

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

예제

의 예제를 CFileFind::GetLength참조하세요.

CFileFind::IsSystem

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

BOOL IsSystem() const;

반환 값

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

설명

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

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

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

예제

의 예제를 CFileFind::GetLength참조하세요.

CFileFind::IsTemporary

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

BOOL IsTemporary() const;

반환 값

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

설명

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

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

파일 특성의 전체 목록은 멤버 함수 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 파일이 임시 스토리지에 사용되고 있습니다. 애플리케이션은 절대적으로 필요한 경우에만 파일에 씁니다. 파일의 데이터는 대부분 곧 삭제되므로 미디어에 플러시되지 않고 메모리에 남아 있습니다.

반환 값

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

설명

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

예제

// 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 클래스