Das Abfragen, ob ein Pfad ein Ordner, bzw. Verzeichnis ist ist recht einfach in C++!Der Quellcode demonstriert eine einfache Anwendung, die prüft, ob ein gegebener Pfad auf ein Verzeichnis (Ordner) zeigt. Es verwendet die Windows-API-Funktion GetFileAttributes, um die Attribute des Pfads abzurufen, und überprüft dann, ob das Attribut FILE_ATTRIBUTE_DIRECTORY gesetzt ist, um zu bestimmen, ob es sich um ein Verzeichnis handelt. Der Pfad "C:\Windows" wird in diesem Beispiel überprüft. Beachten Sie, dass Sie den Pfad an Ihre eigenen Anforderungen anpassen können.
// Dieses Header-File wird benötigt,
// um die Windows-API-Funktionen zu verwenden.
#include <windows.h>
// Diese Funktion überprüft,
// ob der übergebene Pfad auf ein Verzeichnis zeigt.
BOOL IstDerPfadEinOrdner(LPCTSTR pfad)
{
// Überprüfen, ob der Pfad ein gültiger Zeiger ist.
// Wenn nicht, geben Sie FALSE zurück.
if (!pfad)return FALSE;
// Mit GetFileAttributes die Attribute des Pfads abrufen.
DWORD dwAttr = GetFileAttributes(pfad);
// Wenn GetFileAttributes erfolgreich ist.
if (dwAttr != 0xffffffff)
{
// Überprüfen, ob das Verzeichnisattribut gesetzt ist.
if (dwAttr & FILE_ATTRIBUTE_DIRECTORY)
{
// Wenn das Attribut gesetzt ist,
// handelt es sich um ein Verzeichnis. TRUE zurückgeben.
return TRUE;
}
}
// Andernfalls handelt es sich nicht um ein Verzeichnis.
// FALSE zurückgeben.
return FALSE;
}
int main()
{
// Die IstDerPfadEinOrdner-Funktion aufrufen
// und den Pfad "C:\Windows" übergeben.
if (IstDerPfadEinOrdner("C:\\Windows"))
{
// Wenn es ein Verzeichnis ist, diese Meldung ausgeben.
printf("Der Pfad ist ein Ordner bzw. Verzeichnis\n");
}
else
{
// Andernfalls diese Meldung ausgeben.
printf("Der Pfad ist kein Ordner bzw. Verzeichnis\n");
}
// Das Programm beenden
// (0 signalisiert eine erfolgreiche Ausführung).
return 0;
}
... GetFileAttributes Function FAQ 2: Aktualisiert am: 8 November 2023 18:29 |
