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 |