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을 사용한 인터넷 프로그래밍 문서를 참조하세요.
상속 계층 구조
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
pstrName
FindFile
하면 와일드카드(*.*) 검색을 수행합니다.
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
클래스