CFileFind
Sınıf
Yerel dosya aramaları gerçekleştirir ve ve için CGopherFileFind
CFtpFileFind
, İnternet dosya aramaları gerçekleştiren temel sınıfıdır.
Sözdizimi
class CFileFind : public CObject
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CFileFind::CFileFind |
Bir CFileFind nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CFileFind::Close |
Arama isteğini kapatır. |
CFileFind::FindFile |
Bir dizinde belirtilen dosya adını arar. |
CFileFind::FindNextFile |
Önceki bir çağrısından dosya aramasına FindFile devam eder. |
CFileFind::GetCreationTime |
Dosyanın oluşturulduğu zamanı alır. |
CFileFind::GetFileName |
Bulunan dosyanın uzantısı da dahil olmak üzere adını alır |
CFileFind::GetFilePath |
Bulunan dosyanın tüm yolunu alır. |
CFileFind::GetFileTitle |
Bulunan dosyanın başlığını alır. Başlık uzantıyı içermez. |
CFileFind::GetFileURL |
Bulunan dosyanın dosya yolu da dahil olmak üzere URL'yi alır. |
CFileFind::GetLastAccessTime |
Dosyaya en son erişildiği zamanı alır. |
CFileFind::GetLastWriteTime |
Dosyanın en son değiştirildiği ve kaydedildiği zamanı alır. |
CFileFind::GetLength |
Bulunan dosyanın uzunluğunu bayt cinsinden alır. |
CFileFind::GetRoot |
Bulunan dosyanın kök dizinini alır. |
CFileFind::IsArchived |
Bulunan dosyanın arşivlenip arşivlenmediğini belirler. |
CFileFind::IsCompressed |
Bulunan dosyanın sıkıştırılmış olup olmadığını belirler. |
CFileFind::IsDirectory |
Bulunan dosyanın bir dizin olup olmadığını belirler. |
CFileFind::IsDots |
Bulunan dosyanın adının aslında bir dizin olduğunu belirten "." veya ".." adına sahip olup olmadığını belirler. |
CFileFind::IsHidden |
Bulunan dosyanın gizli olup olmadığını belirler. |
CFileFind::IsNormal |
Bulunan dosyanın normal olup olmadığını belirler (başka bir deyişle, başka bir özniteliği yoktur). |
CFileFind::IsReadOnly |
Bulunan dosyanın salt okunur olup olmadığını belirler. |
CFileFind::IsSystem |
Bulunan dosyanın bir sistem dosyası olup olmadığını belirler. |
CFileFind::IsTemporary |
Bulunan dosyanın geçici olup olmadığını belirler. |
CFileFind::MatchesMask |
Bulunabilecek dosyanın istenen dosya özniteliklerini gösterir. |
Korumalı Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CFileFind::CloseContext |
Geçerli arama tanıtıcısı tarafından belirtilen dosyayı kapatır. |
Korumalı Veri Üyeleri
Veri Akışı Adı | Açıklama |
---|---|
CFileFind::m_pTM |
Nesne CAtlTransactionManager işaretçisi. |
Açıklamalar
CFileFind
, bir arama başlatan, bir dosyayı bulup dosyanın başlığını, adını veya yolunu döndüren üye işlevleri içerir. İnternet aramaları için üye işlevi GetFileURL
dosyanın URL'sini döndürür.
CFileFind
, belirli sunucu türlerini aramak için tasarlanmış diğer iki MFC sınıfı için temel sınıftır: CGopherFileFind
özellikle gopher sunucularıyla çalışır ve CFtpFileFind
özellikle FTP sunucularıyla çalışır. Bu üç sınıf birlikte istemcinin yerel makinede veya uzak sunucuda sunucu protokolünden, dosya türünden veya konumdan bağımsız olarak dosyaları bulması için sorunsuz bir mekanizma sağlar.
Aşağıdaki kod geçerli dizindeki tüm dosyaları numaralandırır ve her dosyanın adını yazdıracaktır:
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("*.*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
TRACE(_T("%s\n"), (LPCTSTR)finder.GetFileName());
}
Örneği basit tutmak için bu kod C++ Standart Kitaplığı cout
sınıfını kullanır. Çizgi cout
, örneğin grafik kullanıcı arabirimine CListBox::AddString
sahip bir programda çağrısıyla değiştirilebilir.
Ve diğer WinInet sınıflarını kullanma CFileFind
hakkında daha fazla bilgi için WinInet ile İnternet Programlama makalesine bakın.
Devralma Hiyerarşisi
CFileFind
Gereksinimler
Üstbilgi: afx.h
CFileFind::CFileFind
Bir nesne oluşturulduğunda bu üye işlevi çağrılır CFileFind
.
CFileFind();
CFileFind(CAtlTransactionManager* pTM);
Parametreler
pTM
CAtlTransactionManager nesnesinin işaretçisi
Örnek
örneğine CFileFind::GetFileName
bakın.
CFileFind::Close
Aramayı sonlandırmak, bağlamı sıfırlamak ve tüm kaynakları serbest bırakmak için bu üye işlevini çağırın.
void Close();
Açıklamalar
çağrısı Close
yaptıktan sonra, aramadan önce FindFile
yeni bir arama başlatmak için yeni CFileFind
bir örnek oluşturmanız gerekmez.
Örnek
örneğine CFileFind::GetFileName
bakın.
CFileFind::CloseContext
Geçerli arama tanıtıcısı tarafından belirtilen dosyayı kapatır.
virtual void CloseContext();
Açıklamalar
Arama tutamacının geçerli değeri tarafından belirtilen dosyayı kapatır. Varsayılan davranışı değiştirmek için bu işlevi geçersiz kılın.
Geçerli bir arama tutamacını FindFile
almak için veya FindNextFile
işlevlerini en az bir kez çağırmanız gerekir. FindFile
ve FindNextFile
işlevleri, belirli bir adla eşleşen adlara sahip dosyaları bulmak için arama tutamacını kullanır.
CFileFind::FindFile
Dosya aramasını açmak için bu üye işlevini çağır.
virtual BOOL FindFile(
LPCTSTR pstrName = NULL,
DWORD dwUnused = 0);
Parametreler
pstrName
Bulunacak dosyanın adını içeren bir dize işaretçisi. için pstrName
FindFile
geçirirseniz NULL
joker karakter (*.*) araması yapar.
dwUnused
Türetilmiş sınıflarla çok biçimli yapmak FindFile
için ayrılmıştır. 0 olmalıdır.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0. Genişletilmiş hata bilgilerini almak için Win32 işlevini GetLastError
çağırın.
Açıklamalar
Dosya aramasına başlamak için aradıktan FindFile
sonra, sonraki dosyaları almak için arayın FindNextFile
. Aşağıdaki öznitelik üyesi işlevlerinden herhangi birini çağırmadan önce en az bir kez çağırmalısınız FindNextFile
:
Örnek
örneğine CFileFind::IsDirectory
bakın.
CFileFind::FindNextFile
Önceki bir çağrısından dosya aramasına devam etmek için bu üye işlevini çağır.FindFile
virtual BOOL FindNextFile();
Dönüş Değeri
Daha fazla dosya varsa sıfır olmayan; dizinindeki son dosyaysa veya bir hata oluştuysa sıfır. Genişletilmiş hata bilgilerini almak için Win32 işlevini GetLastError
çağırın. Bulunan dosya dizindeki son dosyaysa veya eşleşen dosya bulunamıyorsa işlevi GetLastError
döndürür ERROR_NO_MORE_FILES
.
Açıklamalar
Aşağıdaki öznitelik üyesi işlevlerinden herhangi birini çağırmadan önce en az bir kez çağırmalısınız FindNextFile
:
FindNextFile
Win32 işlevini FindNextFile
sarmalar.
Örnek
örneğine CFileFind::IsDirectory
bakın.
CFileFind::GetCreationTime
Belirtilen dosyanın oluşturulduğu zamanı almak için bu üye işlevini çağırın.
virtual BOOL GetCreationTime(FILETIME* pTimeStamp) const;
virtual BOOL GetCreationTime(CTime& refTime) const;
Parametreler
pTimeStamp
Dosyanın oluşturulduğu saati içeren bir FILETIME
yapı işaretçisi.
refTime
Bir nesneye CTime
başvuru.
Dönüş Değeri
Başarılı olursa sıfır olmayan; Başarısız olursa 0. GetCreationTime
yalnızca FindNextFile
bu CFileFind
nesnede hiç çağrılmadıysa 0 döndürür.
Açıklamalar
çağrısı öncesinde en az bir kez aramanız FindNextFile
GetCreationTime
gerekir.
Not
Bu işlev tarafından döndürülen zaman damgasını uygulamak için tüm dosya sistemleri aynı semantiği kullanmaz. Temel alınan dosya sistemi veya sunucu time özniteliğinin tutulmasını desteklemiyorsa, bu işlev diğer zaman damgası işlevleri tarafından döndürülen değeri döndürebilir. WIN32_FIND_DATA
Zaman biçimleri hakkında bilgi için yapıya bakın. Bazı işlem sistemlerinde döndürülen saat, dosyanın bulunduğu makinenin yerel saat dilimindedir. Daha fazla bilgi için win32 FileTimeToLocalFileTime
API'sine bakın.
Örnek
örneğine CFileFind::GetLength
bakın.
CFileFind::GetFileName
Bulunan dosyanın adını almak için bu üye işlevini çağırın.
virtual CString GetFileName() const;
Dönüş Değeri
En son bulunan dosyanın adı.
Açıklamalar
GetFileName'i çağırmadan önce en az bir kez aramanız FindNextFile
gerekir.
GetFileName
, dosya adının bir biçimini döndüren üç CFileFind
üye işlevden biridir. Aşağıdaki listede üçü ve bunların nasıl değiştiği açıklanmaktadır:
GetFileName
uzantı da dahil olmak üzere dosya adını döndürür. Örneğin, dosyac:\myhtml\myfile.txt
hakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileName
, dosya adınımyfile.txt
döndürür.GetFilePath
dosyanın yolunun tamamını döndürür. Örneğin, dosyac:\myhtml\myfile.txt
hakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFilePath
, dosya yolunuc:\myhtml\myfile.txt
döndürür.GetFileTitle
dosya uzantısı hariç dosya adını döndürür. Örneğin, dosyac:\myhtml\myfile.txt
hakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileTitle
, dosya başlığınımyfile
döndürür.
Örnek
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
Belirtilen dosyanın tam yolunu almak için bu üye işlevini çağırın.
virtual CString GetFilePath() const;
Dönüş Değeri
Belirtilen dosyanın yolu.
Açıklamalar
çağrısı öncesinde en az bir kez aramanız FindNextFile
GetFilePath
gerekir.
GetFilePath
, dosya adının bir biçimini döndüren üç CFileFind
üye işlevden biridir. Aşağıdaki listede üçü ve bunların nasıl değiştiği açıklanmaktadır:
GetFileName
uzantı da dahil olmak üzere dosya adını döndürür. Örneğin, dosyac:\myhtml\myfile.txt
hakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileName
, dosya adınımyfile.txt
döndürür.GetFilePath
dosyanın yolunun tamamını döndürür. Örneğin, dosyac:\myhtml\myfile.txt
hakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFilePath
, dosya yolunuc:\myhtml\myfile.txt
döndürür.GetFileTitle , dosya uzantısı hariç dosya adını döndürür. Örneğin, dosya
c:\myhtml\myfile.txt
hakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileTitle
, dosya başlığınımyfile
döndürür.
Örnek
örneğine CFileFind::GetFileName
bakın.
CFileFind::GetFileTitle
Bulunan dosyanın başlığını almak için bu üye işlevini çağırın.
virtual CString GetFileTitle() const;
Dönüş Değeri
Dosyanın başlığı.
Açıklamalar
çağrısı öncesinde en az bir kez aramanız FindNextFile
GetFileTitle
gerekir.
GetFileTitle
, dosya adının bir biçimini döndüren üç CFileFind
üye işlevden biridir. Aşağıdaki listede üçü ve bunların nasıl değiştiği açıklanmaktadır:
GetFileName
uzantı da dahil olmak üzere dosya adını döndürür. Örneğin, dosyac:\myhtml\myfile.txt
hakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileName
, dosya adınımyfile.txt
döndürür.GetFilePath
dosyanın yolunun tamamını döndürür. Örneğin, dosyac:\myhtml\myfile.txt
hakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFilePath
c:\myhtml\myfile.txt dosya yolunu döndürür.GetFileTitle
dosya uzantısı hariç dosya adını döndürür. Örneğin, dosyac:\myhtml\myfile.txt
hakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileTitle
, dosya başlığınımyfile
döndürür.
Örnek
örneğine CFileFind::GetFileName
bakın.
CFileFind::GetFileURL
Belirtilen URL'yi almak için bu üye işlevini çağırın.
virtual CString GetFileURL() const;
Dönüş Değeri
Url'nin tamamı.
Açıklamalar
çağrısı öncesinde en az bir kez aramanız FindNextFile
GetFileURL
gerekir.
GetFileURL
, biçimindeKI file://path
URL'yi döndürmesi dışında üye işlevine GetFilePath
benzer. Örneğin, url'nin tamamını almak için myfile.txt
çağrısı GetFileURL
url'sini file://c:\myhtml\myfile.txt
döndürür.
Örnek
örneğine CFileFind::GetFileName
bakın.
CFileFind::GetLastAccessTime
Belirtilen dosyaya en son erişildiği zamanı almak için bu üye işlevini çağırın.
virtual BOOL GetLastAccessTime(CTime& refTime) const;
virtual BOOL GetLastAccessTime(FILETIME* pTimeStamp) const;
Parametreler
refTime
Bir nesneye CTime
başvuru.
pTimeStamp
Dosyaya en son erişildiği saati içeren bir FILETIME
yapı işaretçisi.
Dönüş Değeri
Başarılı olursa sıfır olmayan; Başarısız olursa 0. GetLastAccessTime
yalnızca FindNextFile
bu CFileFind
nesnede hiç çağrılmadıysa 0 döndürür.
Açıklamalar
çağrısı öncesinde en az bir kez aramanız FindNextFile
GetLastAccessTime
gerekir.
Not
Bu işlev tarafından döndürülen zaman damgasını uygulamak için tüm dosya sistemleri aynı semantiği kullanmaz. Temel alınan dosya sistemi veya sunucu time özniteliğinin tutulmasını desteklemiyorsa, bu işlev diğer zaman damgası işlevleri tarafından döndürülen değeri döndürebilir. WIN32_FIND_DATA
Zaman biçimleri hakkında bilgi için yapıya bakın. Bazı işlem sistemlerinde döndürülen saat, dosyanın bulunduğu makinenin yerel saat dilimindedir. Daha fazla bilgi için win32 FileTimeToLocalFileTime
API'sine bakın.
Örnek
örneğine CFileFind::GetLength
bakın.
CFileFind::GetLastWriteTime
Dosyanın en son değiştirildiği zamanı almak için bu üye işlevini çağırın.
virtual BOOL GetLastWriteTime(FILETIME* pTimeStamp) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;
Parametreler
pTimeStamp
Dosyanın son yazıldığı saati içeren bir FILETIME
yapı işaretçisi.
refTime
Bir nesneye CTime
başvuru.
Dönüş Değeri
Başarılı olursa sıfır olmayan; Başarısız olursa 0. GetLastWriteTime
yalnızca FindNextFile
bu CFileFind
nesnede hiç çağrılmadıysa 0 döndürür.
Açıklamalar
çağrısı öncesinde en az bir kez aramanız FindNextFile
GetLastWriteTime
gerekir.
Not
Bu işlev tarafından döndürülen zaman damgasını uygulamak için tüm dosya sistemleri aynı semantiği kullanmaz. Temel alınan dosya sistemi veya sunucu time özniteliğinin tutulmasını desteklemiyorsa, bu işlev diğer zaman damgası işlevleri tarafından döndürülen değeri döndürebilir. WIN32_FIND_DATA
Zaman biçimleri hakkında bilgi için yapıya bakın. Bazı işlem sistemlerinde döndürülen saat, dosyanın bulunduğu makinenin yerel saat dilimindedir. Daha fazla bilgi için win32 FileTimeToLocalFileTime
API'sine bakın.
Örnek
örneğine CFileFind::GetLength
bakın.
CFileFind::GetLength
Bulunan dosyanın uzunluğunu bayt cinsinden almak için bu üye işlevini çağırın.
ULONGLONG GetLength() const;
Dönüş Değeri
Bulunan dosyanın bayt cinsinden uzunluğu.
Açıklamalar
çağrısı öncesinde en az bir kez aramanız FindNextFile
GetLength
gerekir.
GetLength
Dosya boyutunun değerini bayt cinsinden almak ve döndürmek için Win32 yapısını WIN32_FIND_DATA
kullanır.
Not
MFC 7.0 itibarıyla GetLength
64 bit tamsayı türlerini destekler. Kitaplığın bu daha yeni sürümüyle oluşturulmuş daha önce var olan kod, kesme uyarılarına neden olabilir.
Örnek
// 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
Bulunan dosyanın kökünü almak için bu üye işlevini çağırın.
virtual CString GetRoot() const;
Dönüş Değeri
Etkin aramanın kökü.
Açıklamalar
çağrısı öncesinde en az bir kez aramanız FindNextFile
GetRoot
gerekir.
Bu üye işlevi, arama başlatmak için kullanılan sürücü tanımlayıcısını ve yol adını döndürür. Örneğin, ile *.dat
çağrısı FindFile
boş bir dize döndürülerek sonuç verirGetRoot
. gibi bir yolu c:\windows\system\*.dll
döndüren c:\windows\system\
sonuçlara GetRoot
geçirmeFindFile
.
Örnek
örneğine CFileFind::GetFileName
bakın.
CFileFind::IsArchived
Bulunan dosyanın arşivlenip arşivlenmediğini belirlemek için bu üye işlevini çağırın.
BOOL IsArchived() const;
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Uygulamalar, yapıda WIN32_FIND_DATA
tanımlanan bir dosya özniteliğiyle FILE_ATTRIBUTE_ARCHIVE
yedeklenecek veya kaldırılacak bir arşiv dosyasını işaretler.
çağrısı öncesinde en az bir kez aramanız FindNextFile
IsArchived
gerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask
bakın.
Örnek
örneğine CFileFind::GetLength
bakın.
CFileFind::IsCompressed
Bulunan dosyanın sıkıştırılmış olup olmadığını belirlemek için bu üye işlevini çağırın.
BOOL IsCompressed() const;
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Sıkıştırılmış bir dosya, yapısında WIN32_FIND_DATA
tanımlanan bir dosya özniteliği ile FILE_ATTRIBUTE_COMPRESSED
işaretlenir. Bir dosya için bu öznitelik, dosyadaki tüm verilerin sıkıştırıldığını gösterir. Bir dizin için bu öznitelik, sıkıştırmanın yeni oluşturulan dosyalar ve alt dizinler için varsayılan değer olduğunu gösterir.
çağrısı öncesinde en az bir kez aramanız FindNextFile
IsCompressed
gerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask
bakın.
Örnek
örneğine CFileFind::GetLength
bakın.
CFileFind::IsDirectory
Bulunan dosyanın bir dizin olup olmadığını belirlemek için bu üye işlevini çağırın.
BOOL IsDirectory() const;
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Dizin olan bir dosya, yapısında WIN32_FIND_DATA
tanımlanan bir dosya özniteliğiyle FILE_ATTRIBUTE_DIRECTORY
işaretlenir.
çağrısı öncesinde en az bir kez aramanız FindNextFile
IsDirectory
gerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask
bakın.
Örnek
Bu küçük program, C:\ sürücüsündeki tüm dizinleri yineler ve dizinin adını yazdırır.
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
Dosyalar arasında yineleme yaparken geçerli dizin ve üst dizin işaretçilerini test etmek için bu üye işlevini çağırın.
virtual BOOL IsDots() const;
Dönüş Değeri
Bulunan dosyanın adı "." veya ".." ise, bulunan dosyanın aslında bir dizin olduğunu gösterir. Aksi takdirde 0.
Açıklamalar
çağrısı öncesinde en az bir kez aramanız FindNextFile
IsDots
gerekir.
Örnek
örneğine CFileFind::IsDirectory
bakın.
CFileFind::IsHidden
Bulunan dosyanın gizli olup olmadığını belirlemek için bu üye işlevini çağırın.
BOOL IsHidden() const;
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
ile işaretlenmiş FILE_ATTRIBUTE_HIDDEN
gizli dosyalar, yapısında WIN32_FIND_DATA
tanımlanan bir dosya özniteliği. Gizli dosya sıradan bir dizin listesine eklenmez.
çağrısı öncesinde en az bir kez aramanız FindNextFile
IsHidden
gerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask
bakın.
Örnek
örneğine CFileFind::GetLength
bakın.
CFileFind::IsNormal
Bulunan dosyanın normal bir dosya olup olmadığını belirlemek için bu üye işlevini çağırın.
BOOL IsNormal() const;
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
ile FILE_ATTRIBUTE_NORMAL
işaretlenmiş dosyalar, yapısında WIN32_FIND_DATA
tanımlanan bir dosya özniteliği. Normal bir dosyada başka öznitelik ayarlanmadı. Diğer tüm dosya öznitelikleri bu özniteliği geçersiz kılar.
çağrısı öncesinde en az bir kez aramanız FindNextFile
IsNormal
gerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask
bakın.
Örnek
örneğine CFileFind::GetLength
bakın.
CFileFind::IsReadOnly
Bulunan dosyanın salt okunur olup olmadığını belirlemek için bu üye işlevini çağırın.
BOOL IsReadOnly() const;
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Salt okunur bir dosya, yapısında WIN32_FIND_DATA
tanımlanan bir dosya özniteliği ile FILE_ATTRIBUTE_READONLY
işaretlenir. Uygulamalar böyle bir dosyayı okuyabilir, ancak dosyaya yazamaz veya silemez.
çağrısı öncesinde en az bir kez aramanız FindNextFile
IsReadOnly
gerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask
bakın.
Örnek
örneğine CFileFind::GetLength
bakın.
CFileFind::IsSystem
Bulunan dosyanın bir sistem dosyası olup olmadığını belirlemek için bu üye işlevini çağırın.
BOOL IsSystem() const;
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Bir sistem dosyası ile FILE_ATTRIBUTE_SYSTEM
işaretlenir ve yapısında WIN32_FIND_DATA
tanımlanan bir dosya özniteliğidir. Sistem dosyası, işletim sisteminin bir parçasıdır veya yalnızca işletim sistemi tarafından kullanılır.
çağrısı öncesinde en az bir kez aramanız FindNextFile
IsSystem
gerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask
bakın.
Örnek
örneğine CFileFind::GetLength
bakın.
CFileFind::IsTemporary
Bulunan dosyanın geçici bir dosya olup olmadığını belirlemek için bu üye işlevini çağırın.
BOOL IsTemporary() const;
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0.
Açıklamalar
Geçici bir dosya, yapısında WIN32_FIND_DATA
tanımlanan bir dosya özniteliği ile FILE_ATTRIBUTE_TEMPORARY
işaretlenir. Geçici depolama için geçici bir dosya kullanılır. Uygulamalar dosyaya yalnızca kesinlikle gerekliyse yazmalıdır. Dosya yakında silineceği için dosyanın verilerinin çoğu medyaya boşaltılmadan bellekte kalır.
çağrısı öncesinde en az bir kez aramanız FindNextFile
IsTemporary
gerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask
bakın.
Örnek
örneğine CFileFind::GetLength
bakın.
CFileFind::m_pTM
Nesne CAtlTransactionManager
işaretçisi.
CAtlTransactionManager* m_pTM;
Açıklamalar
CFileFind::MatchesMask
Bulunan dosyadaki dosya özniteliklerini test etmek için bu üye işlevini çağırın.
virtual BOOL MatchesMask(DWORD dwMask) const;
Parametreler
dwMask
Bulunan dosya için yapısında WIN32_FIND_DATA
tanımlanan bir veya daha fazla dosya özniteliğini belirtir. Birden çok öznitelik aramak için bit düzeyinde OR (|
) işlecini kullanın. Aşağıdaki özniteliklerin herhangi bir bileşimi kabul edilebilir:
FILE_ATTRIBUTE_ARCHIVE
Dosya bir arşiv dosyasıdır. Uygulamalar, dosyaları yedekleme veya kaldırma amacıyla işaretlemek için bu özniteliği kullanır.FILE_ATTRIBUTE_COMPRESSED
Dosya veya dizin sıkıştırılır. Bir dosya için bu, dosyadaki tüm verilerin sıkıştırılmış olduğu anlamına gelir. Dizin için bu, sıkıştırmanın yeni oluşturulan dosyalar ve alt dizinler için varsayılan olduğu anlamına gelir.FILE_ATTRIBUTE_DIRECTORY
Dosya bir dizindir.FILE_ATTRIBUTE_NORMAL
Dosyada ayarlanmış başka öznitelik yok. Bu öznitelik yalnızca tek başına kullanıldığında geçerlidir. Diğer tüm dosya öznitelikleri bu özniteliği geçersiz kılar.FILE_ATTRIBUTE_HIDDEN
Dosya gizlidir. Sıradan bir dizin listesine dahil edilmemesi gerekir.FILE_ATTRIBUTE_READONLY
Dosya salt okunur. Uygulamalar dosyayı okuyabilir, ancak dosyaya yazamaz veya silemez.FILE_ATTRIBUTE_SYSTEM
Dosya, işletim sisteminin bir parçasıdır veya yalnızca işletim sistemi tarafından kullanılır.FILE_ATTRIBUTE_TEMPORARY
Dosya geçici depolama için kullanılıyor. Uygulamalar dosyaya yalnızca kesinlikle gerekliyse yazmalıdır. Dosya yakında silineceği için dosyanın verilerinin çoğu medyaya boşaltılmadan bellekte kalır.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0. Genişletilmiş hata bilgilerini almak için Win32 işlevini GetLastError
çağırın.
Açıklamalar
çağrısı öncesinde en az bir kez aramanız FindNextFile
MatchesMask
gerekir.
Örnek
// 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());
}
}
Ayrıca bkz.
CObject
Sınıf
Hiyerarşi Grafiği
CFtpFileFind
Sınıf
CGopherFileFind
Sınıf
CInternetFile
Sınıf
CGopherFile
Sınıf
CHttpFile
Sınıf