Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Voert lokale bestandszoekopdrachten uit en is de basisklasse voor CGopherFileFind en CFtpFileFind, waarmee zoekopdrachten in internetbestanden worden uitgevoerd.
Syntaxis
class CFileFind : public CObject
Leden
Openbare constructors
| Naam | Description |
|---|---|
CFileFind::CFileFind |
Maakt een CFileFind object. |
Openbare methoden
| Naam | Description |
|---|---|
CFileFind::Close |
Hiermee sluit u de zoekaanvraag. |
CFileFind::FindFile |
Zoekt in een map naar een opgegeven bestandsnaam. |
CFileFind::FindNextFile |
Hiermee gaat u door met het zoeken van bestanden vanuit een vorige aanroep naar FindFile. |
CFileFind::GetCreationTime |
Hiermee wordt de tijd opgehaald waarop het bestand is gemaakt. |
CFileFind::GetFileName |
Haalt de naam, inclusief de extensie, van het gevonden bestand op |
CFileFind::GetFilePath |
Hiermee haalt u het hele pad van het gevonden bestand op. |
CFileFind::GetFileTitle |
Hiermee haalt u de titel van het gevonden bestand op. De titel bevat de extensie niet. |
CFileFind::GetFileURL |
Haalt de URL, inclusief het bestandspad, van het gevonden bestand op. |
CFileFind::GetLastAccessTime |
Hiermee wordt de tijd opgehaald waarop het bestand voor het laatst is geopend. |
CFileFind::GetLastWriteTime |
Hiermee wordt de tijd opgehaald waarop het bestand voor het laatst is gewijzigd en opgeslagen. |
CFileFind::GetLength |
Hiermee wordt de lengte van het gevonden bestand, in bytes, opgeslagen. |
CFileFind::GetRoot |
Hiermee haalt u de hoofdmap van het gevonden bestand op. |
CFileFind::IsArchived |
Bepaalt of het gevonden bestand is gearchiveerd. |
CFileFind::IsCompressed |
Bepaalt of het gevonden bestand is gecomprimeerd. |
CFileFind::IsDirectory |
Bepaalt of het gevonden bestand een map is. |
CFileFind::IsDots |
Bepaalt of de naam van het gevonden bestand de naam '. of '.', waarmee wordt aangegeven dat het eigenlijk een map is. |
CFileFind::IsHidden |
Bepaalt of het gevonden bestand verborgen is. |
CFileFind::IsNormal |
Bepaalt of het gevonden bestand normaal is (met andere woorden, heeft geen andere kenmerken). |
CFileFind::IsReadOnly |
Bepaalt of het gevonden bestand het kenmerk Alleen-lezen heeft. |
CFileFind::IsSystem |
Bepaalt of het gevonden bestand een systeembestand is. |
CFileFind::IsTemporary |
Bepaalt of het gevonden bestand tijdelijk is. |
CFileFind::MatchesMask |
Geeft de gewenste bestandskenmerken van het bestand aan die moeten worden gevonden. |
Beveiligde methoden
| Naam | Description |
|---|---|
CFileFind::CloseContext |
Hiermee sluit u het bestand dat is opgegeven door de huidige zoekgreep. |
Beveiligde gegevensleden
| Naam | Description |
|---|---|
CFileFind::m_pTM |
Aanwijzer naar een CAtlTransactionManager object. |
Opmerkingen
CFileFind bevat lidfuncties die een zoekopdracht starten, een bestand zoeken en de titel, naam of het pad van het bestand retourneren. Voor zoekopdrachten op internet retourneert de lidfunctie GetFileURL de URL van het bestand.
CFileFind is de basisklasse voor twee andere MFC-klassen die zijn ontworpen om te zoeken in bepaalde servertypen: CGopherFileFind werkt specifiek met gopher-servers en CFtpFileFind werkt specifiek met FTP-servers. Samen bieden deze drie klassen een naadloos mechanisme voor de client om bestanden te vinden, ongeacht het serverprotocol, het bestandstype of de locatie, op een lokale computer of een externe server.
Met de volgende code worden alle bestanden in de huidige map opgesomd, waarbij de naam van elk bestand wordt afgedrukt:
CFileFind finder;
BOOL bWorking = finder.FindFile(_T("*.*"));
while (bWorking)
{
bWorking = finder.FindNextFile();
TRACE(_T("%s\n"), (LPCTSTR)finder.GetFileName());
}
Als u het voorbeeld eenvoudig wilt houden, gebruikt deze code de klasse C++ Standard Library cout . De cout regel kan worden vervangen door een aanroep naar CListBox::AddStringbijvoorbeeld een programma met een grafische gebruikersinterface.
Zie het artikel Internetprogrammering met WinInet voor meer informatie over het gebruik CFileFind en de andere WinInet-klassen.
Overnamehiërarchie
CFileFind
Requirements
Rubriek:afx.h
CFileFind::CFileFind
Deze lidfunctie wordt aangeroepen wanneer een CFileFind object wordt samengesteld.
CFileFind();
CFileFind(CAtlTransactionManager* pTM);
Parameterwaarden
pTM
Aanwijzer naar CAtlTransactionManager-object
Example
Zie het voorbeeld voor CFileFind::GetFileName.
CFileFind::Close
Roep deze lidfunctie aan om de zoekopdracht te beëindigen, de context opnieuw in te stellen en alle resources vrij te geven.
void Close();
Opmerkingen
Na het aanroepen Closehoeft u geen nieuw CFileFind exemplaar te maken voordat u aanroept FindFile om een nieuwe zoekopdracht te starten.
Example
Zie het voorbeeld voor CFileFind::GetFileName.
CFileFind::CloseContext
Hiermee sluit u het bestand dat is opgegeven door de huidige zoekgreep.
virtual void CloseContext();
Opmerkingen
Hiermee sluit u het bestand dat is opgegeven met de huidige waarde van de zoekgreep. Overschrijf deze functie om het standaardgedrag te wijzigen.
U moet de FindFile of FindNextFile functies ten minste één keer aanroepen om een geldige zoekingang op te halen. De FindFile functies FindNextFile gebruiken de zoekgreep om bestanden te zoeken met namen die overeenkomen met een bepaalde naam.
CFileFind::FindFile
Roep deze lidfunctie aan om een bestand te openen.
virtual BOOL FindFile(
LPCTSTR pstrName = NULL,
DWORD dwUnused = 0);
Parameterwaarden
pstrName
Een aanwijzer naar een tekenreeks met de naam van het bestand dat u wilt zoeken. Als u doorgeeft NULLpstrName, FindFile voert u een jokerteken (*.*) uit.
dwUnused
Gereserveerd om polymorf te maken FindFile met afgeleide klassen. Moet 0 zijn.
Retourwaarde
Niet-nul indien geslaagd; anders 0. Als u uitgebreide foutinformatie wilt ophalen, roept u de Win32-functie GetLastErroraan.
Opmerkingen
Nadat u hebt aangeroepen FindFile om het zoeken naar bestanden te starten, roept FindNextFile u aan om volgende bestanden op te halen. U moet ten minste één keer aanroepen voordat u een van de volgende kenmerklidfuncties aanroept FindNextFile :
Example
Zie het voorbeeld voor CFileFind::IsDirectory.
CFileFind::FindNextFile
Roep deze lidfunctie aan om door te gaan met het zoeken van bestanden vanuit een eerdere aanroep naar FindFile.
virtual BOOL FindNextFile();
Retourwaarde
Niet-nul als er meer bestanden zijn; nul als het gevonden bestand de laatste in de map is of als er een fout is opgetreden. Als u uitgebreide foutinformatie wilt ophalen, roept u de Win32-functie GetLastErroraan. Als het gevonden bestand het laatste bestand in de map is of als er geen overeenkomende bestanden kunnen worden gevonden, wordt de GetLastError functie geretourneerd ERROR_NO_MORE_FILES.
Opmerkingen
U moet ten minste één keer aanroepen voordat u een van de volgende kenmerklidfuncties aanroept FindNextFile :
FindNextFile verpakt de Win32-functie FindNextFile.
Example
Zie het voorbeeld voor CFileFind::IsDirectory.
CFileFind::GetCreationTime
Roep deze lidfunctie aan om de tijd te krijgen waarop het opgegeven bestand is gemaakt.
virtual BOOL GetCreationTime(FILETIME* pTimeStamp) const;
virtual BOOL GetCreationTime(CTime& refTime) const;
Parameterwaarden
pTimeStamp
Een aanwijzer naar een FILETIME structuur met het tijdstip waarop het bestand is gemaakt.
refTime
Een verwijzing naar een CTime object.
Retourwaarde
Niet-nul indien geslaagd; 0 indien mislukt.
GetCreationTime retourneert alleen 0 als FindNextFile dit CFileFind object nog nooit is aangeroepen.
Opmerkingen
U moet minstens één keer bellen FindNextFile voordat u belt GetCreationTime.
Opmerking
Niet alle bestandssystemen gebruiken dezelfde semantiek om het tijdstempel te implementeren dat door deze functie wordt geretourneerd. Deze functie kan dezelfde waarde retourneren die door andere tijdstempelfuncties wordt geretourneerd als het onderliggende bestandssysteem of de onderliggende server het tijdkenmerk niet ondersteunt. Zie de WIN32_FIND_DATA structuur voor informatie over tijdnotaties. Op sommige besturingssystemen bevindt de geretourneerde tijd zich in de tijdzone lokaal op de computer waar het bestand zich bevindt. Zie de Win32-API FileTimeToLocalFileTime voor meer informatie.
Example
Zie het voorbeeld voor CFileFind::GetLength.
CFileFind::GetFileName
Roep deze lidfunctie aan om de naam van het gevonden bestand op te halen.
virtual CString GetFileName() const;
Retourwaarde
De naam van het meest recent gevonden bestand.
Opmerkingen
U moet ten minste één keer bellen FindNextFile voordat u GetFileName aanroept.
GetFileName is een van de drie CFileFind lidfuncties die een vorm van de bestandsnaam retourneren. In de volgende lijst worden de drie beschreven en hoe deze variëren:
GetFileNameretourneert de bestandsnaam, inclusief de extensie. Als u bijvoorbeeld een gebruikersbericht wilt genereren over het bestandc:\myhtml\myfile.txt,GetFileNamewordt de bestandsnaammyfile.txtgeretourneerd.GetFilePathretourneert het volledige pad voor het bestand. Als u bijvoorbeeldGetFilePatheen gebruikersbericht wilt genereren over het bestandc:\myhtml\myfile.txt, wordt het bestandspadc:\myhtml\myfile.txtgeretourneerd.GetFileTitleretourneert de bestandsnaam, met uitzondering van de bestandsextensie. Als u bijvoorbeeld een gebruikersbericht wilt genereren over het bestand,GetFileTitlewordt de titel vanmyfilehet bestandc:\myhtml\myfile.txtgeretourneerd.
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
Roep deze lidfunctie aan om het volledige pad van het opgegeven bestand op te halen.
virtual CString GetFilePath() const;
Retourwaarde
Het pad van het opgegeven bestand.
Opmerkingen
U moet minstens één keer bellen FindNextFile voordat u belt GetFilePath.
GetFilePath is een van de drie CFileFind lidfuncties die een vorm van de bestandsnaam retourneren. In de volgende lijst worden de drie beschreven en hoe deze variëren:
GetFileNameretourneert de bestandsnaam, inclusief de extensie. Als u bijvoorbeeld een gebruikersbericht wilt genereren over het bestandc:\myhtml\myfile.txt,GetFileNamewordt de bestandsnaammyfile.txtgeretourneerd.GetFilePathretourneert het volledige pad voor het bestand. Als u bijvoorbeeldGetFilePatheen gebruikersbericht wilt genereren over het bestandc:\myhtml\myfile.txt, wordt het bestandspadc:\myhtml\myfile.txtgeretourneerd.GetFileTitle retourneert de bestandsnaam, met uitzondering van de bestandsextensie. Als u bijvoorbeeld een gebruikersbericht wilt genereren over het bestand,
GetFileTitlewordt de titel vanmyfilehet bestandc:\myhtml\myfile.txtgeretourneerd.
Example
Zie het voorbeeld voor CFileFind::GetFileName.
CFileFind::GetFileTitle
Roep deze lidfunctie aan om de titel van het gevonden bestand op te halen.
virtual CString GetFileTitle() const;
Retourwaarde
De titel van het bestand.
Opmerkingen
U moet minstens één keer bellen FindNextFile voordat u belt GetFileTitle.
GetFileTitle is een van de drie CFileFind lidfuncties die een vorm van de bestandsnaam retourneren. In de volgende lijst worden de drie beschreven en hoe deze variëren:
GetFileNameretourneert de bestandsnaam, inclusief de extensie. Als u bijvoorbeeld een gebruikersbericht wilt genereren over het bestandc:\myhtml\myfile.txt,GetFileNamewordt de bestandsnaammyfile.txtgeretourneerd.GetFilePathretourneert het volledige pad voor het bestand. Als u bijvoorbeeldGetFilePatheen gebruikersbericht wilt genereren over het bestandc:\myhtml\myfile.txt, wordt het bestandspad c:\myhtml\myfile.txtgeretourneerd.GetFileTitleretourneert de bestandsnaam, met uitzondering van de bestandsextensie. Als u bijvoorbeeld een gebruikersbericht wilt genereren over het bestand,GetFileTitlewordt de titel vanmyfilehet bestandc:\myhtml\myfile.txtgeretourneerd.
Example
Zie het voorbeeld voor CFileFind::GetFileName.
CFileFind::GetFileURL
Roep deze lidfunctie aan om de opgegeven URL op te halen.
virtual CString GetFileURL() const;
Retourwaarde
De volledige URL.
Opmerkingen
U moet minstens één keer bellen FindNextFile voordat u belt GetFileURL.
GetFileURL is vergelijkbaar met de lidfunctie GetFilePath, behalve dat deze de URL in het formulier file://pathretourneert. Als u bijvoorbeeld aanroept GetFileURL om de volledige URL op te halen, wordt myfile.txt de URL file://c:\myhtml\myfile.txtgeretourneerd.
Example
Zie het voorbeeld voor CFileFind::GetFileName.
CFileFind::GetLastAccessTime
Roep deze lidfunctie aan om de tijd te krijgen waarop het opgegeven bestand voor het laatst is geopend.
virtual BOOL GetLastAccessTime(CTime& refTime) const;
virtual BOOL GetLastAccessTime(FILETIME* pTimeStamp) const;
Parameterwaarden
refTime
Een verwijzing naar een CTime object.
pTimeStamp
Een aanwijzer naar een FILETIME structuur met de tijd dat het bestand voor het laatst is geopend.
Retourwaarde
Niet-nul indien geslaagd; 0 indien mislukt.
GetLastAccessTime retourneert alleen 0 als FindNextFile dit CFileFind object nog nooit is aangeroepen.
Opmerkingen
U moet minstens één keer bellen FindNextFile voordat u belt GetLastAccessTime.
Opmerking
Niet alle bestandssystemen gebruiken dezelfde semantiek om het tijdstempel te implementeren dat door deze functie wordt geretourneerd. Deze functie kan dezelfde waarde retourneren die door andere tijdstempelfuncties wordt geretourneerd als het onderliggende bestandssysteem of de onderliggende server het tijdkenmerk niet ondersteunt. Zie de WIN32_FIND_DATA structuur voor informatie over tijdnotaties. Op sommige besturingssystemen bevindt de geretourneerde tijd zich in de tijdzone lokaal op de computer waar het bestand zich bevindt. Zie de Win32-API FileTimeToLocalFileTime voor meer informatie.
Example
Zie het voorbeeld voor CFileFind::GetLength.
CFileFind::GetLastWriteTime
Roep deze lidfunctie aan om de laatste keer dat het bestand is gewijzigd, op te halen.
virtual BOOL GetLastWriteTime(FILETIME* pTimeStamp) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;
Parameterwaarden
pTimeStamp
Een aanwijzer naar een FILETIME structuur met de tijd waarop het bestand voor het laatst is geschreven.
refTime
Een verwijzing naar een CTime object.
Retourwaarde
Niet-nul indien geslaagd; 0 indien mislukt.
GetLastWriteTime retourneert alleen 0 als FindNextFile dit CFileFind object nog nooit is aangeroepen.
Opmerkingen
U moet minstens één keer bellen FindNextFile voordat u belt GetLastWriteTime.
Opmerking
Niet alle bestandssystemen gebruiken dezelfde semantiek om het tijdstempel te implementeren dat door deze functie wordt geretourneerd. Deze functie kan dezelfde waarde retourneren die door andere tijdstempelfuncties wordt geretourneerd als het onderliggende bestandssysteem of de onderliggende server het tijdkenmerk niet ondersteunt. Zie de WIN32_FIND_DATA structuur voor informatie over tijdnotaties. Op sommige besturingssystemen bevindt de geretourneerde tijd zich in de tijdzone lokaal op de computer waar het bestand zich bevindt. Zie de Win32-API FileTimeToLocalFileTime voor meer informatie.
Example
Zie het voorbeeld voor CFileFind::GetLength.
CFileFind::GetLength
Roep deze lidfunctie aan om de lengte van het gevonden bestand in bytes op te halen.
ULONGLONG GetLength() const;
Retourwaarde
De lengte van het gevonden bestand, in bytes.
Opmerkingen
U moet minstens één keer bellen FindNextFile voordat u belt GetLength.
GetLength gebruikt de Win32-structuur WIN32_FIND_DATA om de waarde van de bestandsgrootte in bytes op te halen en te retourneren.
Opmerking
Vanaf MFC 7.0 ondersteunt GetLength 64-bits gehele getallentypen. Eerder bestaande code die is gebouwd met deze nieuwere versie van de bibliotheek, kan leiden tot afkappingswaarschuwingen.
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
Roep deze lidfunctie aan om de hoofdmap van het gevonden bestand op te halen.
virtual CString GetRoot() const;
Retourwaarde
De hoofdmap van de actieve zoekopdracht.
Opmerkingen
U moet minstens één keer bellen FindNextFile voordat u belt GetRoot.
Deze lidfunctie retourneert de stationsaanduiding en padnaam die wordt gebruikt om een zoekopdracht te starten. Bijvoorbeeld het aanroepen FindFile met *.dat resultaten bij GetRoot het retourneren van een lege tekenreeks. Het doorgeven van een pad, zoals c:\windows\system\*.dll, aan FindFile resultaten GetRoot die worden geretourneerd c:\windows\system\.
Example
Zie het voorbeeld voor CFileFind::GetFileName.
CFileFind::IsArchived
Roep deze lidfunctie aan om te bepalen of het gevonden bestand is gearchiveerd.
BOOL IsArchived() const;
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Toepassingen markeren een archiefbestand, waarvan een back-up moet worden gemaakt of verwijderd, met FILE_ATTRIBUTE_ARCHIVEeen bestandskenmerk dat in de WIN32_FIND_DATA structuur is geïdentificeerd.
U moet minstens één keer bellen FindNextFile voordat u belt IsArchived.
Zie de lidfunctie MatchesMask voor een volledige lijst met bestandskenmerken.
Example
Zie het voorbeeld voor CFileFind::GetLength.
CFileFind::IsCompressed
Roep deze lidfunctie aan om te bepalen of het gevonden bestand is gecomprimeerd.
BOOL IsCompressed() const;
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Een gecomprimeerd bestand is gemarkeerd met FILE_ATTRIBUTE_COMPRESSED, een bestandskenmerk dat in de WIN32_FIND_DATA structuur wordt geïdentificeerd. Voor een bestand geeft dit kenmerk aan dat alle gegevens in het bestand zijn gecomprimeerd. Voor een map geeft dit kenmerk aan dat compressie de standaardwaarde is voor nieuw gemaakte bestanden en submappen.
U moet minstens één keer bellen FindNextFile voordat u belt IsCompressed.
Zie de lidfunctie MatchesMask voor een volledige lijst met bestandskenmerken.
Example
Zie het voorbeeld voor CFileFind::GetLength.
CFileFind::IsDirectory
Roep deze lidfunctie aan om te bepalen of het gevonden bestand een map is.
BOOL IsDirectory() const;
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Een bestand dat een map is, wordt gemarkeerd met FILE_ATTRIBUTE_DIRECTORY een bestandskenmerk dat in de WIN32_FIND_DATA structuur is geïdentificeerd.
U moet minstens één keer bellen FindNextFile voordat u belt IsDirectory.
Zie de lidfunctie MatchesMask voor een volledige lijst met bestandskenmerken.
Example
Dit kleine programma recurseert elke map op het C:\ station en drukt de naam van de map af.
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
Roep deze lidfunctie aan om te testen op de huidige map- en bovenliggende mapmarkeringen tijdens het doorlopen van bestanden.
virtual BOOL IsDots() const;
Retourwaarde
Nonzero als het gevonden bestand de naam '.' of '.' heeft, wat aangeeft dat het gevonden bestand eigenlijk een map is. Anders 0.
Opmerkingen
U moet minstens één keer bellen FindNextFile voordat u belt IsDots.
Example
Zie het voorbeeld voor CFileFind::IsDirectory.
CFileFind::IsHidden
Roep deze lidfunctie aan om te bepalen of het gevonden bestand verborgen is.
BOOL IsHidden() const;
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Verborgen bestanden, die zijn gemarkeerd met FILE_ATTRIBUTE_HIDDEN, een bestandskenmerk dat in de WIN32_FIND_DATA structuur wordt geïdentificeerd. Een verborgen bestand is niet opgenomen in een gewone mapvermelding.
U moet minstens één keer bellen FindNextFile voordat u belt IsHidden.
Zie de lidfunctie MatchesMask voor een volledige lijst met bestandskenmerken.
Example
Zie het voorbeeld voor CFileFind::GetLength.
CFileFind::IsNormal
Roep deze lidfunctie aan om te bepalen of het gevonden bestand een normaal bestand is.
BOOL IsNormal() const;
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Bestanden die zijn gemarkeerd met FILE_ATTRIBUTE_NORMAL, een bestandskenmerk dat in de WIN32_FIND_DATA structuur is geïdentificeerd. Een normaal bestand heeft geen andere kenmerken ingesteld. Alle andere bestandskenmerken overschrijven dit kenmerk.
U moet minstens één keer bellen FindNextFile voordat u belt IsNormal.
Zie de lidfunctie MatchesMask voor een volledige lijst met bestandskenmerken.
Example
Zie het voorbeeld voor CFileFind::GetLength.
CFileFind::IsReadOnly
Roep deze lidfunctie aan om te bepalen of het gevonden bestand het kenmerk Alleen-lezen heeft.
BOOL IsReadOnly() const;
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Een alleen-lezen bestand is gemarkeerd met FILE_ATTRIBUTE_READONLY, een bestandskenmerk dat in de WIN32_FIND_DATA structuur wordt geïdentificeerd. Toepassingen kunnen een dergelijk bestand lezen, maar ze kunnen er niet naar schrijven of verwijderen.
U moet minstens één keer bellen FindNextFile voordat u belt IsReadOnly.
Zie de lidfunctie MatchesMask voor een volledige lijst met bestandskenmerken.
Example
Zie het voorbeeld voor CFileFind::GetLength.
CFileFind::IsSystem
Roep deze lidfunctie aan om te bepalen of het gevonden bestand een systeembestand is.
BOOL IsSystem() const;
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Een systeembestand is gemarkeerd met FILE_ATTRIBUTE_SYSTEM, een bestandskenmerk dat in de WIN32_FIND_DATA structuur wordt geïdentificeerd. Een systeembestand maakt deel uit van of wordt uitsluitend gebruikt door het besturingssysteem.
U moet minstens één keer bellen FindNextFile voordat u belt IsSystem.
Zie de lidfunctie MatchesMask voor een volledige lijst met bestandskenmerken.
Example
Zie het voorbeeld voor CFileFind::GetLength.
CFileFind::IsTemporary
Roep deze lidfunctie aan om te bepalen of het gevonden bestand een tijdelijk bestand is.
BOOL IsTemporary() const;
Retourwaarde
Niet-nul indien geslaagd; anders 0.
Opmerkingen
Een tijdelijk bestand is gemarkeerd met FILE_ATTRIBUTE_TEMPORARY, een bestandskenmerk dat in de WIN32_FIND_DATA structuur wordt geïdentificeerd. Er wordt een tijdelijk bestand gebruikt voor tijdelijke opslag. Toepassingen moeten alleen naar het bestand schrijven als dat absoluut noodzakelijk is. De meeste gegevens van het bestand blijven in het geheugen zonder dat ze naar de media worden gespoeld omdat het bestand binnenkort wordt verwijderd.
U moet minstens één keer bellen FindNextFile voordat u belt IsTemporary.
Zie de lidfunctie MatchesMask voor een volledige lijst met bestandskenmerken.
Example
Zie het voorbeeld voor CFileFind::GetLength.
CFileFind::m_pTM
Aanwijzer naar een CAtlTransactionManager object.
CAtlTransactionManager* m_pTM;
Opmerkingen
CFileFind::MatchesMask
Roep deze lidfunctie aan om de bestandskenmerken in het gevonden bestand te testen.
virtual BOOL MatchesMask(DWORD dwMask) const;
Parameterwaarden
dwMask
Hiermee geeft u een of meer bestandskenmerken op, geïdentificeerd in de WIN32_FIND_DATA structuur, voor het gevonden bestand. Als u naar meerdere kenmerken wilt zoeken, gebruikt u de operator bitwise OR (|). Elke combinatie van de volgende kenmerken is acceptabel:
FILE_ATTRIBUTE_ARCHIVEHet bestand is een archiefbestand. Toepassingen gebruiken dit kenmerk om bestanden te markeren voor back-up of verwijdering.FILE_ATTRIBUTE_COMPRESSEDHet bestand of de map wordt gecomprimeerd. Voor een bestand betekent dit dat alle gegevens in het bestand worden gecomprimeerd. Voor een map betekent dit dat compressie de standaardwaarde is voor nieuw gemaakte bestanden en submappen.FILE_ATTRIBUTE_DIRECTORYHet bestand is een map.FILE_ATTRIBUTE_NORMALHet bestand heeft geen andere kenmerken ingesteld. Dit kenmerk is alleen geldig als dit alleen wordt gebruikt. Alle andere bestandskenmerken overschrijven dit kenmerk.FILE_ATTRIBUTE_HIDDENHet bestand is verborgen. Het is niet opgenomen in een gewone lijst met mappen.FILE_ATTRIBUTE_READONLYHet bestand heeft het kenmerk Alleen-lezen. Toepassingen kunnen het bestand lezen, maar kunnen er niet naar schrijven of verwijderen.FILE_ATTRIBUTE_SYSTEMHet bestand maakt deel uit van of wordt uitsluitend gebruikt door het besturingssysteem.FILE_ATTRIBUTE_TEMPORARYHet bestand wordt gebruikt voor tijdelijke opslag. Toepassingen moeten alleen naar het bestand schrijven als dat absoluut noodzakelijk is. De meeste gegevens van het bestand blijven in het geheugen zonder dat ze naar de media worden gespoeld omdat het bestand binnenkort wordt verwijderd.
Retourwaarde
Niet-nul indien geslaagd; anders 0. Als u uitgebreide foutinformatie wilt ophalen, roept u de Win32-functie GetLastErroraan.
Opmerkingen
U moet minstens één keer bellen FindNextFile voordat u belt MatchesMask.
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());
}
}
Zie ook
CObject klasse
Hiërarchiegrafiek
CFtpFileFind klasse
CGopherFileFind klasse
CInternetFile klasse
CGopherFile klasse
CHttpFile klasse