Warum kann ich mit meinem C++ Programm mit dem <filesystem> keine Iteration in einem anderen Laufwerk als C:\ durchführen?

2 Antworten

Versuch mal, den Pfad direkt zu erstellen und nicht implizit vom String zum Pfad zu casten.

Ansonsten sieht das Programm eigentlich korrekt aus.


DennisScher 
Fragesteller
 26.08.2022, 15:34

Das funktioniert leider nicht, aber trotzdem danke.👍

1
Destranix  26.08.2022, 15:39
@DennisScher

Dann mach mal ein try-catch um den Code und lass dir die Exception rausschreiben, wenn das denn geht:

try{
    //...
} catch(const std::exception& ex) {
        std::cerr << ex.what() << std::endl;
        throw;
}

return 0;
1
DennisScher 
Fragesteller
 26.08.2022, 15:50
@Destranix

Es hat mir rausgeschrieben, dass der Pfad nicht gefunden werden konnte. Vielleicht hat grtgrt recht ich überprüfs mal.

1
DennisScher 
Fragesteller
 26.08.2022, 15:57
@DennisScher

Aber vielleicht liegt es auch daran, weil die Firma, bei der ich das Praktikums-Projekt mache, ihr Laufwerk gegen so etwas schützt.

1
Destranix  26.08.2022, 17:01
@DennisScher

Möglich, ja. Am besten nutzt du die Funktionen der Bibliothek um zu prüfen, ob das Verzeichnis existiert, ein Directory ist und du drüberiterieren darfst.

1

Der Grund ist einfach: Du verstehst offenbar deutlich zu wenig C++.


DennisScher 
Fragesteller
 26.08.2022, 15:20

Das stimmt. Bin nähmlich währenddessen dabei C++ zu lernen. Eine Problemlösung hätte ich trotzdem gerne. Xddd

0
grtgrt  26.08.2022, 15:34
@DennisScher

Lösung: Man kann Dateien auch über einen Pfad-Identifier adressieren, der mit einem Drive Letter beginnt. Du weißt das, aber du scheinst nicht zu wissen, dass der Wert, dem du deiner Variablen test gegeben hat, kein Pfad ist.

1
grtgrt  26.08.2022, 15:38
@grtgrt

Die Fehlermeldung kommt offenbar aus der Funktion directory_iterator, die test nicht als Pfad hin zu einem Ordner erkennt. [ Genauer: Der Debugger scheint deswegen zu versagen. ]

1