Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 FindFiledevam 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::AddStringsahip 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::GetFileNamebakı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ı Closeyaptıktan sonra, aramadan önce FindFile yeni bir arama başlatmak için yeni CFileFind bir örnek oluşturmanız gerekmez.
Örnek
örneğine CFileFind::GetFileNamebakı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 pstrNameFindFile 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::IsDirectorybakı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 FindNextFilesarmalar.
Örnek
örneğine CFileFind::IsDirectorybakı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 GetCreationTimegerekir.
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::GetLengthbakı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:
GetFileNameuzantı da dahil olmak üzere dosya adını döndürür. Örneğin, dosyac:\myhtml\myfile.txthakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileName, dosya adınımyfile.txtdöndürür.GetFilePathdosyanın yolunun tamamını döndürür. Örneğin, dosyac:\myhtml\myfile.txthakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFilePath, dosya yolunuc:\myhtml\myfile.txtdöndürür.GetFileTitledosya uzantısı hariç dosya adını döndürür. Örneğin, dosyac:\myhtml\myfile.txthakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileTitle, dosya başlığınımyfiledö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 GetFilePathgerekir.
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:
GetFileNameuzantı da dahil olmak üzere dosya adını döndürür. Örneğin, dosyac:\myhtml\myfile.txthakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileName, dosya adınımyfile.txtdöndürür.GetFilePathdosyanın yolunun tamamını döndürür. Örneğin, dosyac:\myhtml\myfile.txthakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFilePath, dosya yolunuc:\myhtml\myfile.txtdöndürür.GetFileTitle , dosya uzantısı hariç dosya adını döndürür. Örneğin, dosya
c:\myhtml\myfile.txthakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileTitle, dosya başlığınımyfiledöndürür.
Örnek
örneğine CFileFind::GetFileNamebakı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 GetFileTitlegerekir.
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:
GetFileNameuzantı da dahil olmak üzere dosya adını döndürür. Örneğin, dosyac:\myhtml\myfile.txthakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileName, dosya adınımyfile.txtdöndürür.GetFilePathdosyanın yolunun tamamını döndürür. Örneğin, dosyac:\myhtml\myfile.txthakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFilePathc:\myhtml\myfile.txt dosya yolunu döndürür.GetFileTitledosya uzantısı hariç dosya adını döndürür. Örneğin, dosyac:\myhtml\myfile.txthakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileTitle, dosya başlığınımyfiledöndürür.
Örnek
örneğine CFileFind::GetFileNamebakı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 GetFileURLgerekir.
GetFileURL, biçimindeKI file://pathURL'yi döndürmesi dışında üye işlevine GetFilePathbenzer. Örneğin, url'nin tamamını almak için myfile.txt çağrısı GetFileURL url'sini file://c:\myhtml\myfile.txtdöndürür.
Örnek
örneğine CFileFind::GetFileNamebakı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 GetLastAccessTimegerekir.
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::GetLengthbakı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 GetLastWriteTimegerekir.
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::GetLengthbakı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 GetLengthgerekir.
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 GetRootgerekir.
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\*.dlldöndüren c:\windows\system\sonuçlara GetRoot geçirmeFindFile.
Örnek
örneğine CFileFind::GetFileNamebakı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_ARCHIVEyedeklenecek veya kaldırılacak bir arşiv dosyasını işaretler.
çağrısı öncesinde en az bir kez aramanız FindNextFile IsArchivedgerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask bakın.
Örnek
örneğine CFileFind::GetLengthbakı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_COMPRESSEDiş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 IsCompressedgerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask bakın.
Örnek
örneğine CFileFind::GetLengthbakı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 IsDirectorygerekir.
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 IsDotsgerekir.
Örnek
örneğine CFileFind::IsDirectorybakı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_HIDDENgizli 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 IsHiddengerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask bakın.
Örnek
örneğine CFileFind::GetLengthbakı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_NORMALiş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 IsNormalgerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask bakın.
Örnek
örneğine CFileFind::GetLengthbakı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_READONLYişaretlenir. Uygulamalar böyle bir dosyayı okuyabilir, ancak dosyaya yazamaz veya silemez.
çağrısı öncesinde en az bir kez aramanız FindNextFile IsReadOnlygerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask bakın.
Örnek
örneğine CFileFind::GetLengthbakı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_SYSTEMiş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 IsSystemgerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask bakın.
Örnek
örneğine CFileFind::GetLengthbakı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_TEMPORARYiş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 IsTemporarygerekir.
Dosya özniteliklerinin tam listesi için üye işlevine MatchesMask bakın.
Örnek
örneğine CFileFind::GetLengthbakı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_ARCHIVEDosya 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_COMPRESSEDDosya 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_DIRECTORYDosya bir dizindir.FILE_ATTRIBUTE_NORMALDosyada 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_HIDDENDosya gizlidir. Sıradan bir dizin listesine dahil edilmemesi gerekir.FILE_ATTRIBUTE_READONLYDosya salt okunur. Uygulamalar dosyayı okuyabilir, ancak dosyaya yazamaz veya silemez.FILE_ATTRIBUTE_SYSTEMDosya, işletim sisteminin bir parçasıdır veya yalnızca işletim sistemi tarafından kullanılır.FILE_ATTRIBUTE_TEMPORARYDosya 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 MatchesMaskgerekir.
Ö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