Megosztás a következőn keresztül:


CFileFind osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Helyi fájlkereséseket hajt végre, és az internetes fájlkereséseket végrehajtó és CFtpFileFindaz azokhoz CGopherFileFind tartozó alaposztály.

Szemantika

class CFileFind : public CObject

Tagok

Nyilvános konstruktorok

Név Description
CFileFind::CFileFind Egy CFileFind objektumot hoz létre.

Nyilvános metódusok

Név Description
CFileFind::Close Bezárja a keresési kérelmet.
CFileFind::FindFile A megadott fájlnév keresése egy könyvtárban.
CFileFind::FindNextFile Folytatja a fájlkeresést egy korábbi hívásból FindFile.
CFileFind::GetCreationTime Lekéri a fájl létrehozásának időpontját.
CFileFind::GetFileName Lekéri a talált fájl nevét, beleértve a bővítményt is
CFileFind::GetFilePath Lekéri a talált fájl teljes elérési útját.
CFileFind::GetFileTitle Lekéri a talált fájl címét. A cím nem tartalmazza a bővítményt.
CFileFind::GetFileURL Lekéri a talált fájl URL-címét, beleértve a fájl elérési útját is.
CFileFind::GetLastAccessTime Lekéri a fájl utolsó elérésének időpontját.
CFileFind::GetLastWriteTime Lekéri a fájl utolsó módosításának és mentésének időpontját.
CFileFind::GetLength Bájtban lekéri a talált fájl hosszát.
CFileFind::GetRoot Lekéri a talált fájl gyökérkönyvtárát.
CFileFind::IsArchived Meghatározza, hogy a talált fájl archiválva van-e.
CFileFind::IsCompressed Meghatározza, hogy a talált fájl tömörítve van-e.
CFileFind::IsDirectory Meghatározza, hogy a talált fájl könyvtár-e.
CFileFind::IsDots Azt határozza meg, hogy a talált fájl neve "." vagy ".." néven szerepel-e, ami azt jelzi, hogy valójában egy könyvtár.
CFileFind::IsHidden Meghatározza, hogy a talált fájl rejtett-e.
CFileFind::IsNormal Azt határozza meg, hogy a talált fájl normális-e (vagyis nincs-e más attribútuma).
CFileFind::IsReadOnly Meghatározza, hogy a talált fájl írásvédett-e.
CFileFind::IsSystem Meghatározza, hogy a talált fájl rendszerfájl-e.
CFileFind::IsTemporary Meghatározza, hogy a talált fájl ideiglenes-e.
CFileFind::MatchesMask A keresendő fájl kívánt fájlattribútumait jelzi.

Védett metódusok

Név Description
CFileFind::CloseContext Bezárja az aktuális keresési leíró által megadott fájlt.

Védett adattagok

Név Description
CFileFind::m_pTM Mutasson egy objektumra CAtlTransactionManager .

Megjegyzések

CFileFind Olyan tagfüggvényeket tartalmaz, amelyek keresést indítanak, megkeresnek egy fájlt, és visszaadják a fájl címét, nevét vagy elérési útját. Internetes keresések esetén a tagfüggvény GetFileURL visszaadja a fájl URL-címét.

CFileFind két másik MFC-osztály alaposztálya, amelyek meghatározott kiszolgálótípusok keresésére lettek tervezve: CGopherFileFind kifejezetten gopher-kiszolgálókkal működik, és CFtpFileFind kifejezetten FTP-kiszolgálókkal működik. Ez a három osztály egy zökkenőmentes mechanizmust biztosít az ügyfél számára a fájlok megkereséséhez, függetlenül a kiszolgáló protokolltól, a fájltípustól vagy a helytől egy helyi gépen vagy egy távoli kiszolgálón.

Az alábbi kód számba veszi az aktuális könyvtárban lévő összes fájlt, és kinyomtatja az egyes fájlok nevét:

CFileFind finder;
BOOL bWorking = finder.FindFile(_T("*.*"));
while (bWorking)
{
   bWorking = finder.FindNextFile();
   TRACE(_T("%s\n"), (LPCTSTR)finder.GetFileName());
} 

A példa egyszerűségéhez ez a kód a C++ Standard Kódtár cout osztályt használja. A cout sor lecserélhető például egy grafikus felhasználói felülettel rendelkező program hívására CListBox::AddString.

A használat CFileFind módjáról és a WinInet többi osztályáról a WinInettel való internetes programozás című cikkben talál további információt.

Öröklési hierarchia

CObject

CFileFind

Requirements

Fejléc:afx.h

CFileFind::CFileFind

Ez a tagfüggvény egy CFileFind objektum létrehozásakor lesz meghívva.

CFileFind();
CFileFind(CAtlTransactionManager* pTM);

Paraméterek

pTM
Mutató a CAtlTransactionManager objektumra

Example

Lásd a példát a CFileFind::GetFileName.

CFileFind::Close

Hívja meg ezt a tagfüggvényt a keresés befejezéséhez, a környezet alaphelyzetbe állításához és az összes erőforrás felszabadításához.

void Close();

Megjegyzések

A hívás Closeután nem kell új CFileFind példányt létrehoznia ahhoz, hogy új FindFile keresést kezdjen.

Example

Lásd a példát a CFileFind::GetFileName.

CFileFind::CloseContext

Bezárja az aktuális keresési leíró által megadott fájlt.

virtual void CloseContext();

Megjegyzések

Bezárja a keresési leíró aktuális értéke által megadott fájlt. A függvény felülbírálása az alapértelmezett viselkedés módosításához.

Az érvényes keresési leíró lekéréséhez legalább egyszer meg kell hívnia a FindFileFindNextFile függvényeket. A FindFile függvények a FindNextFile keresőfogantyúval megkeresik a megadott névnek megfelelő neveket tartalmazó fájlokat.

CFileFind::FindFile

A tagfüggvény meghívása fájlkeresés megnyitásához.

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

Paraméterek

pstrName
A keresett fájl nevét tartalmazó sztringre mutató mutató. Ha ezt adja meg NULLpstrName, FindFile helyettesítő karaktert (*.*) keres.

dwUnused
Arra van fenntartva, hogy származtatott osztályokkal polimorfikus legyen FindFile . 0-nak kell lennie.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0. A kiterjesztett hibainformációk lekéréséhez hívja meg a Win32 függvényt GetLastError.

Megjegyzések

Miután meghívta FindFile a fájlkeresést, hívja FindNextFile meg a további fájlok lekérését. A következő attribútumtagfüggvények bármelyikének meghívása előtt legalább egyszer meg kell hívnia FindNextFile :

Example

Lásd a példát a CFileFind::IsDirectory.

CFileFind::FindNextFile

Hívja meg ezt a tagfüggvényt, hogy folytassa a fájlkeresést egy korábbi hívásból a következőre FindFile: .

virtual BOOL FindNextFile();

Visszaadott érték

Nonzero, ha több fájl van; nulla, ha a talált fájl az utolsó a könyvtárban, vagy ha hiba történt. A kiterjesztett hibainformációk lekéréséhez hívja meg a Win32 függvényt GetLastError. Ha a talált fájl az utolsó fájl a könyvtárban, vagy ha nem található egyező fájl, a GetLastError függvény ad vissza ERROR_NO_MORE_FILES.

Megjegyzések

A következő attribútumtagfüggvények bármelyikének meghívása előtt legalább egyszer meg kell hívnia FindNextFile :

FindNextFile a Win32 függvényt FindNextFileburkolja.

Example

Lásd a példát a CFileFind::IsDirectory.

CFileFind::GetCreationTime

Hívja meg ezt a tagfüggvényt a megadott fájl létrehozásának időpontjának lekéréséhez.

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

Paraméterek

pTimeStamp
A fájl létrehozásának időpontját tartalmazó struktúra mutatója FILETIME .

refTime
Hivatkozás egy CTime objektumra.

Visszaadott érték

Nonzero, ha sikeres; 0, ha sikertelen. GetCreationTime csak akkor ad vissza 0 értéket, ha FindNextFile még soha nem hívták meg ezt CFileFind az objektumot.

Megjegyzések

A hívás GetCreationTimeelőtt legalább egyszer fel kell hívniaFindNextFile.

Megjegyzés:

Nem minden fájlrendszer használja ugyanazt a szemantikát a függvény által visszaadott időbélyeg implementálásához. Ez a függvény visszaadhatja ugyanazt az értéket, amelyet más időbélyegfüggvények visszaadnak, ha az alapul szolgáló fájlrendszer vagy kiszolgáló nem támogatja az időattribútum megtartását. Az időformátumokkal kapcsolatos információkért tekintse meg a WIN32_FIND_DATA struktúrát. Egyes operációs rendszereken a visszaadott idő a gép helyi időzónájában található, ha a fájl található. További információért tekintse meg a Win32 FileTimeToLocalFileTime API-t.

Example

Lásd a példát a CFileFind::GetLength.

CFileFind::GetFileName

Hívja meg ezt a tagfüggvényt a talált fájl nevének lekéréséhez.

virtual CString GetFileName() const;

Visszaadott érték

A legutóbb talált fájl neve.

Megjegyzések

A GetFileName hívása előtt legalább egyszer fel kell hívnia FindNextFile .

GetFileName a fájlnév valamilyen formáját visszaadó három CFileFind tagfüggvény egyike. Az alábbi lista a háromat és azok különbözőségét ismerteti:

  • GetFileName visszaadja a fájlnevet, beleértve a bővítményt is. A fájlról c:\myhtml\myfile.txt szóló felhasználói üzenet generálására irányuló hívás GetFileName például a fájl nevét myfile.txtadja vissza.

  • GetFilePath A fájl teljes elérési útját adja vissza. Ha például meghív GetFilePath egy felhasználói üzenetet a fájlról c:\myhtml\myfile.txt , az visszaadja a fájl elérési útját c:\myhtml\myfile.txt.

  • GetFileTitle A fájlnevet adja vissza, a fájlkiterjesztés kivételével. Ha például meghív GetFileTitle egy felhasználói üzenetet a fájlról c:\myhtml\myfile.txt , az visszaadja a fájl címét myfile.

Example

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

Hívja meg ezt a tagfüggvényt a megadott fájl teljes elérési útjának lekéréséhez.

virtual CString GetFilePath() const;

Visszaadott érték

A megadott fájl elérési útja.

Megjegyzések

A hívás GetFilePathelőtt legalább egyszer fel kell hívniaFindNextFile.

GetFilePath a fájlnév valamilyen formáját visszaadó három CFileFind tagfüggvény egyike. Az alábbi lista a háromat és azok különbözőségét ismerteti:

  • GetFileName visszaadja a fájlnevet, beleértve a bővítményt is. A fájlról c:\myhtml\myfile.txt szóló felhasználói üzenet generálására irányuló hívás GetFileName például a fájl nevét myfile.txtadja vissza.

  • GetFilePath A fájl teljes elérési útját adja vissza. Ha például meghív GetFilePath egy felhasználói üzenetet a fájlról c:\myhtml\myfile.txt , az visszaadja a fájl elérési útját c:\myhtml\myfile.txt.

  • A GetFileTitle a fájlnevet adja vissza, a fájlkiterjesztés kivételével. Ha például meghív GetFileTitle egy felhasználói üzenetet a fájlról c:\myhtml\myfile.txt , az visszaadja a fájl címét myfile.

Example

Lásd a példát a CFileFind::GetFileName.

CFileFind::GetFileTitle

Hívja meg ezt a tagfüggvényt a talált fájl címének lekéréséhez.

virtual CString GetFileTitle() const;

Visszaadott érték

A fájl címe.

Megjegyzések

A hívás GetFileTitleelőtt legalább egyszer fel kell hívniaFindNextFile.

GetFileTitle a fájlnév valamilyen formáját visszaadó három CFileFind tagfüggvény egyike. Az alábbi lista a háromat és azok különbözőségét ismerteti:

  • GetFileName visszaadja a fájlnevet, beleértve a bővítményt is. A fájlról c:\myhtml\myfile.txt szóló felhasználói üzenet generálására irányuló hívás GetFileName például a fájl nevét myfile.txtadja vissza.

  • GetFilePath A fájl teljes elérési útját adja vissza. Ha például meghív GetFilePath egy felhasználói üzenetet a fájlról c:\myhtml\myfile.txt , az a c:\myhtml\myfile.txtfájl elérési útját adja vissza.

  • GetFileTitle A fájlnevet adja vissza, a fájlkiterjesztés kivételével. Ha például meghív GetFileTitle egy felhasználói üzenetet a fájlról c:\myhtml\myfile.txt , az visszaadja a fájl címét myfile.

Example

Lásd a példát a CFileFind::GetFileName.

CFileFind::GetFileURL

Hívja meg ezt a tagfüggvényt a megadott URL-cím lekéréséhez.

virtual CString GetFileURL() const;

Visszaadott érték

A teljes URL-cím.

Megjegyzések

A hívás GetFileURLelőtt legalább egyszer fel kell hívniaFindNextFile.

GetFileURL hasonló a tagfüggvényhez GetFilePath, azzal a kivételel, hogy az URL-címet adja vissza az űrlapon file://path. A hívás GetFileURL például a teljes URL-cím lekéréséhez myfile.txt az URL-címet file://c:\myhtml\myfile.txtadja vissza.

Example

Lásd a példát a CFileFind::GetFileName.

CFileFind::GetLastAccessTime

Hívja meg ezt a tagfüggvényt a megadott fájl legutóbbi elérésének időpontjának lekéréséhez.

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

Paraméterek

refTime
Hivatkozás egy CTime objektumra.

pTimeStamp
Mutató egy FILETIME struktúrára, amely tartalmazza a fájl utolsó elérésének időpontját.

Visszaadott érték

Nonzero, ha sikeres; 0, ha sikertelen. GetLastAccessTime csak akkor ad vissza 0 értéket, ha FindNextFile még soha nem hívták meg ezt CFileFind az objektumot.

Megjegyzések

A hívás GetLastAccessTimeelőtt legalább egyszer fel kell hívniaFindNextFile.

Megjegyzés:

Nem minden fájlrendszer használja ugyanazt a szemantikát a függvény által visszaadott időbélyeg implementálásához. Ez a függvény visszaadhatja ugyanazt az értéket, amelyet más időbélyegfüggvények visszaadnak, ha az alapul szolgáló fájlrendszer vagy kiszolgáló nem támogatja az időattribútum megtartását. Az időformátumokkal kapcsolatos információkért tekintse meg a WIN32_FIND_DATA struktúrát. Egyes operációs rendszereken a visszaadott idő a gép helyi időzónájában található, ha a fájl található. További információért tekintse meg a Win32 FileTimeToLocalFileTime API-t.

Example

Lásd a példát a CFileFind::GetLength.

CFileFind::GetLastWriteTime

Hívja meg ezt a tagfüggvényt a fájl legutóbbi módosításának lekéréséhez.

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

Paraméterek

pTimeStamp
Mutató egy FILETIME szerkezetre, amely tartalmazza a fájl utolsó írási idejét.

refTime
Hivatkozás egy CTime objektumra.

Visszaadott érték

Nonzero, ha sikeres; 0, ha sikertelen. GetLastWriteTime csak akkor ad vissza 0 értéket, ha FindNextFile még soha nem hívták meg ezt CFileFind az objektumot.

Megjegyzések

A hívás GetLastWriteTimeelőtt legalább egyszer fel kell hívniaFindNextFile.

Megjegyzés:

Nem minden fájlrendszer használja ugyanazt a szemantikát a függvény által visszaadott időbélyeg implementálásához. Ez a függvény visszaadhatja ugyanazt az értéket, amelyet más időbélyegfüggvények visszaadnak, ha az alapul szolgáló fájlrendszer vagy kiszolgáló nem támogatja az időattribútum megtartását. Az időformátumokkal kapcsolatos információkért tekintse meg a WIN32_FIND_DATA struktúrát. Egyes operációs rendszereken a visszaadott idő a gép helyi időzónájában található, ha a fájl található. További információért tekintse meg a Win32 FileTimeToLocalFileTime API-t.

Example

Lásd a példát a CFileFind::GetLength.

CFileFind::GetLength

Hívja meg ezt a tagfüggvényt a talált fájl hosszának bájtban való lekéréséhez.

ULONGLONG GetLength() const;

Visszaadott érték

A talált fájl hossza bájtban.

Megjegyzések

A hívás GetLengthelőtt legalább egyszer fel kell hívniaFindNextFile.

GetLength A Win32-struktúra WIN32_FIND_DATA használatával lekérheti és visszaadhatja a fájlméret bájtban megadott értékét.

Megjegyzés:

Az MFC 7.0-s GetLength verziójában a 64 bites egész számtípusok támogatottak. A kódtár újabb verziójával korábban létrehozott kód csonkítási figyelmeztetéseket eredményezhet.

Example

// 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

Hívja meg ezt a tagfüggvényt a talált fájl gyökerének lekéréséhez.

virtual CString GetRoot() const;

Visszaadott érték

Az aktív keresés gyökere.

Megjegyzések

A hívás GetRootelőtt legalább egyszer fel kell hívniaFindNextFile.

Ez a tagfüggvény visszaadja a keresés indításához használt meghajtó-választót és elérési utat. Például üres FindFile sztringet ad vissza az eredményekkel *.datGetRoot . Elérési út átadása például a visszaadott c:\windows\system\eredményeknek GetRootFindFile.c:\windows\system\*.dll

Example

Lásd a példát a CFileFind::GetFileName.

CFileFind::IsArchived

Hívja meg ezt a tagfüggvényt annak megállapításához, hogy a talált fájl archiválva van-e.

BOOL IsArchived() const;

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Az alkalmazások megjelölnek egy archív fájlt, amelyről biztonsági másolatot kell készíteni vagy el kell távolítani a struktúrában WIN32_FIND_DATA azonosított fájlattribútummalFILE_ATTRIBUTE_ARCHIVE.

A hívás IsArchivedelőtt legalább egyszer fel kell hívniaFindNextFile.

A fájlattribútumok teljes listáját a tagfüggvényben MatchesMask találja.

Example

Lásd a példát a CFileFind::GetLength.

CFileFind::IsCompressed

Hívja meg ezt a tagfüggvényt annak megállapításához, hogy a talált fájl tömörítve van-e.

BOOL IsCompressed() const;

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A tömörített fájlok a struktúrában WIN32_FIND_DATA azonosított fájlattribútummal FILE_ATTRIBUTE_COMPRESSEDvannak megjelölve. Egy fájl esetében ez az attribútum azt jelzi, hogy a fájl összes adata tömörítve van. Könyvtár esetén ez az attribútum azt jelzi, hogy az újonnan létrehozott fájlok és alkönyvtárak esetében a tömörítés az alapértelmezett.

A hívás IsCompressedelőtt legalább egyszer fel kell hívniaFindNextFile.

A fájlattribútumok teljes listáját a tagfüggvényben MatchesMask találja.

Example

Lásd a példát a CFileFind::GetLength.

CFileFind::IsDirectory

Hívja meg ezt a tagfüggvényt annak megállapításához, hogy a talált fájl könyvtár-e.

BOOL IsDirectory() const;

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A könyvtárnak számító fájlok a struktúrában WIN32_FIND_DATA azonosított fájlattribútummal FILE_ATTRIBUTE_DIRECTORY vannak megjelölve.

A hívás IsDirectoryelőtt legalább egyszer fel kell hívniaFindNextFile.

A fájlattribútumok teljes listáját a tagfüggvényben MatchesMask találja.

Example

Ez a kis program a C:\ meghajtó minden könyvtárát újra megjeleníti, és kinyomtatja a könyvtár nevét.

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

Ennek a tagfüggvénynek a meghívásával tesztelheti az aktuális könyvtárat és a szülőkönyvtár-jelölőket a fájlokon keresztüli iterálás során.

virtual BOOL IsDots() const;

Visszaadott érték

Nonzero, ha a talált fájl neve "." vagy "..", ami azt jelzi, hogy a talált fájl valójában egy könyvtár. Egyéb esetben 0.

Megjegyzések

A hívás IsDotselőtt legalább egyszer fel kell hívniaFindNextFile.

Example

Lásd a példát a CFileFind::IsDirectory.

CFileFind::IsHidden

Hívja meg ezt a tagfüggvényt annak megállapításához, hogy a talált fájl rejtett-e.

BOOL IsHidden() const;

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A struktúrában WIN32_FIND_DATA azonosított fájlattribútummal FILE_ATTRIBUTE_HIDDENmegjelölt rejtett fájlok. A rejtett fájlok nem szerepelnek a szokásos címtárlistában.

A hívás IsHiddenelőtt legalább egyszer fel kell hívniaFindNextFile.

A fájlattribútumok teljes listáját a tagfüggvényben MatchesMask találja.

Example

Lásd a példát a CFileFind::GetLength.

CFileFind::IsNormal

Hívja meg ezt a tagfüggvényt annak megállapításához, hogy a talált fájl normál fájl-e.

BOOL IsNormal() const;

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A struktúrában WIN32_FIND_DATA azonosított fájlattribútummal FILE_ATTRIBUTE_NORMALmegjelölt fájlok. A normál fájloknak nincs más attribútumkészlete. Minden más fájlattribútum felülírja ezt az attribútumot.

A hívás IsNormalelőtt legalább egyszer fel kell hívniaFindNextFile.

A fájlattribútumok teljes listáját a tagfüggvényben MatchesMask találja.

Example

Lásd a példát a CFileFind::GetLength.

CFileFind::IsReadOnly

Hívja meg ezt a tagfüggvényt annak megállapításához, hogy a talált fájl írásvédett-e.

BOOL IsReadOnly() const;

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A csak olvasható fájlok a struktúrában WIN32_FIND_DATA azonosított fájlattribútummal FILE_ATTRIBUTE_READONLYvannak megjelölve. Az alkalmazások elolvashatják az ilyen fájlokat, de nem írhatnak vagy törölhetnek.

A hívás IsReadOnlyelőtt legalább egyszer fel kell hívniaFindNextFile.

A fájlattribútumok teljes listáját a tagfüggvényben MatchesMask találja.

Example

Lásd a példát a CFileFind::GetLength.

CFileFind::IsSystem

Hívja meg ezt a tagfüggvényt annak megállapításához, hogy a talált fájl rendszerfájl-e.

BOOL IsSystem() const;

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

A rendszerfájl a struktúrában WIN32_FIND_DATA azonosított fájlattribútummal FILE_ATTRIBUTE_SYSTEMvan megjelölve. A rendszerfájl az operációs rendszer része, vagy azt kizárólag az operációs rendszer használja.

A hívás IsSystemelőtt legalább egyszer fel kell hívniaFindNextFile.

A fájlattribútumok teljes listáját a tagfüggvényben MatchesMask találja.

Example

Lásd a példát a CFileFind::GetLength.

CFileFind::IsTemporary

Hívja meg ezt a tagfüggvényt annak megállapításához, hogy a talált fájl ideiglenes fájl-e.

BOOL IsTemporary() const;

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Az ideiglenes fájlok a struktúrában WIN32_FIND_DATA azonosított fájlattribútummal FILE_ATTRIBUTE_TEMPORARYvannak megjelölve. A rendszer ideiglenes fájlokat használ az ideiglenes tároláshoz. Az alkalmazásoknak csak akkor kell írniuk a fájlba, ha feltétlenül szükséges. A fájl adatainak többsége a memóriában marad anélkül, hogy az adathordozóra kerül, mert a fájl hamarosan törlődik.

A hívás IsTemporaryelőtt legalább egyszer fel kell hívniaFindNextFile.

A fájlattribútumok teljes listáját a tagfüggvényben MatchesMask találja.

Example

Lásd a példát a CFileFind::GetLength.

CFileFind::m_pTM

Mutasson egy objektumra CAtlTransactionManager .

CAtlTransactionManager* m_pTM;

Megjegyzések

CFileFind::MatchesMask

Hívja meg ezt a tagfüggvényt a talált fájl fájlattribútumainak teszteléséhez.

virtual BOOL MatchesMask(DWORD dwMask) const;

Paraméterek

dwMask
A szerkezetben WIN32_FIND_DATA azonosított egy vagy több fájlattribútumot határoz meg a talált fájlhoz. Több attribútum kereséséhez használja a bitenkénti VAGY (|) operátort. A következő attribútumok bármilyen kombinációja elfogadható:

  • FILE_ATTRIBUTE_ARCHIVE A fájl egy archív fájl. Az alkalmazások ezzel az attribútummal jelölik meg a fájlokat biztonsági mentésre vagy eltávolításra.

  • FILE_ATTRIBUTE_COMPRESSED A fájl vagy könyvtár tömörítve van. Egy fájl esetében ez azt jelenti, hogy a fájl összes adata tömörítve van. Könyvtár esetén ez azt jelenti, hogy az újonnan létrehozott fájlok és alkönyvtárak esetében a tömörítés az alapértelmezett.

  • FILE_ATTRIBUTE_DIRECTORY A fájl egy könyvtár.

  • FILE_ATTRIBUTE_NORMAL A fájlnak nincs más attribútumkészlete. Ez az attribútum csak akkor érvényes, ha egyedül használja. Minden más fájlattribútum felülírja ezt az attribútumot.

  • FILE_ATTRIBUTE_HIDDEN A fájl rejtett. Ez nem szerepelhet a szokásos címtárak listájában.

  • FILE_ATTRIBUTE_READONLY A fájl csak olvasható. Az alkalmazások beolvashatják a fájlt, de nem tudnak írni vagy törölni.

  • FILE_ATTRIBUTE_SYSTEM A fájl az operációs rendszer része, vagy kizárólag az operációs rendszer használja.

  • FILE_ATTRIBUTE_TEMPORARY A fájl ideiglenes tárolásra van használva. Az alkalmazásoknak csak akkor kell írniuk a fájlba, ha feltétlenül szükséges. A fájl adatainak többsége a memóriában marad anélkül, hogy az adathordozóra kerül, mert a fájl hamarosan törlődik.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0. A kiterjesztett hibainformációk lekéréséhez hívja meg a Win32 függvényt GetLastError.

Megjegyzések

A hívás MatchesMaskelőtt legalább egyszer fel kell hívniaFindNextFile.

Example

// 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());
   }
}

Lásd még

CObject osztály
hierarchiadiagram
CFtpFileFind osztály
CGopherFileFind osztály
CInternetFile osztály
CGopherFile osztály
CHttpFile osztály