Aracılığıyla paylaş


CFileFind Sınıfı

Yerel dosya aramaları gerçekleştirir ve ve için CGopherFileFindCFtpFileFind, İnternet dosya aramaları gerçekleştiren temel sınıfıdır.

Sözdizimi

class CFileFind : public CObject

Üyeler

Ortak Oluşturucular

Ad Tanım
CFileFind::CFileFind Bir CFileFind nesne oluşturur.

Genel Yöntemler

Ad Tanım
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

Ad Tanım
CFileFind::CloseContext Geçerli arama tanıtıcısı tarafından belirtilen dosyayı kapatır.

Korumalı Veri Üyeleri

Ad Tanım
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

CObject

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.

İade 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();

İade 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.

İade 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 FindNextFileGetCreationTimegerekir.

Dekont

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;

İade 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, dosya c:\myhtml\myfile.txt hakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileName, dosya adını myfile.txtdöndürür.

  • GetFilePath dosyanın yolunun tamamı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ıGetFilePath, dosya yolunu c:\myhtml\myfile.txtdö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ı 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;

İade Değeri

Belirtilen dosyanın yolu.

Açıklamalar

çağrısı öncesinde en az bir kez aramanız FindNextFileGetFilePathgerekir.

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, dosya c:\myhtml\myfile.txt hakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileName, dosya adını myfile.txtdöndürür.

  • GetFilePath dosyanın yolunun tamamı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ıGetFilePath, dosya yolunu c:\myhtml\myfile.txtdö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ı 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;

İade Değeri

Dosyanın başlığı.

Açıklamalar

çağrısı öncesinde en az bir kez aramanız FindNextFileGetFileTitlegerekir.

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, dosya c:\myhtml\myfile.txt hakkında bir kullanıcı iletisi oluşturmak için çağrısıGetFileName, dosya adını myfile.txtdöndürür.

  • GetFilePath dosyanın yolunun tamamı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ı 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, dosya c:\myhtml\myfile.txt hakkı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;

İade Değeri

Url'nin tamamı.

Açıklamalar

çağrısı öncesinde en az bir kez aramanız FindNextFileGetFileURLgerekir.

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.

İade 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 FindNextFileGetLastAccessTimegerekir.

Dekont

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.

İade 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 FindNextFileGetLastWriteTimegerekir.

Dekont

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;

İade Değeri

Bulunan dosyanın bayt cinsinden uzunluğu.

Açıklamalar

çağrısı öncesinde en az bir kez aramanız FindNextFileGetLengthgerekir.

GetLength Dosya boyutunun değerini bayt cinsinden almak ve döndürmek için Win32 yapısını WIN32_FIND_DATA kullanır.

Dekont

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;

İade Değeri

Etkin aramanın kökü.

Açıklamalar

çağrısı öncesinde en az bir kez aramanız FindNextFileGetRootgerekir.

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;

İade 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 FindNextFileIsArchivedgerekir.

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;

İade 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 FindNextFileIsCompressedgerekir.

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;

İade 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 FindNextFileIsDirectorygerekir.

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;

İade 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 FindNextFileIsDotsgerekir.

Ö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;

İade 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 FindNextFileIsHiddengerekir.

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;

İade 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 FindNextFileIsNormalgerekir.

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;

İade 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 FindNextFileIsReadOnlygerekir.

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;

İade 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 FindNextFileIsSystemgerekir.

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;

İade 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 FindNextFileIsTemporarygerekir.

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_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.

İade 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 FindNextFileMatchesMaskgerekir.

Ö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ı