Ordner auf Existenz überprüfen?
-
Hallo,
ich programmiere noch nicht lange und habe auch noch nicht so ganz den Überblick.
Ich suche eigentlich nur eine Funktion fuer Visual C++, mit der man halt überprüfen kann, ob der Ordner existiert und ob auch beispielsweise Leserechte vorhanden sind.Hab schon viel gegooglet und auch hier im Forum gesucht, aber nicht wirklich was gefunden. Vllt habe ich aber auch falsch gesucht

Es gibt ja auch Funktionen wie _access() um zu überpuefen ob eine Datei existiert und mit der man zugleich noch überprüfen kann, ob Leserechte auch vorhanden sind. Dann muesste es doch fuer Ordner auch sowas geben, oder nicht?
Hoffe, dass mir da jmd. weiterhelfen kann.
Gruss,
xadi
-
vielleicht kannste statt auf den ordner c:\test auf die datei c:\test\nul prüfen.
-
if(GetFileAttributes(L"C:\\test") == FILE_ATTRIBUTE_DIRECTORY) { std::cout << "ordner existiert!" << std::endl; }
-
CFileFind file; if (file.FindFile(_T("c:\windows2"))) { AfxMessageBox(_T("Pfad gefunden")); }Falls du die Express-Edition hast und damit keine MFC: Mit FindFirstFile, is ne WinAPI-Funktion, geht das auch. Aber die MFC-Klasse ist am bequemsten.
-
Und als Ergänzung zu Pellaeon. Bei CFileFind hat es dann noch IsReadOnly IsArchived usw. Kannst auch spezielle Kombination mit MatchesMask überprüfen. Einfach mal CFileFind in der MSDN anschauen

CFileFind file; if(file.FindFile(_T("c:\windows2"))) { AfxMessageBox(_T("Pfad gefunden")); file.FindNextFile(); if(file.MatchesMask(FILE_ATTRIBUTE_READONLY)) { AfxMessageBox(_T("Ordner ist ReadOnly!")); } }Wie es bei der WinAPI geht mit dem herausfinden der jeweiligen Eigenschaften weiss ich leider nicht ^^
Bzw. wenn ich mir den einer der Posts vorher anschaue, ist es wohl GetFileAttributes ^^Grüssli
-
Vielen Dank fuer die zahlreichen Antworten erstmal

Werd mir das mal genauer anschauen und mich nochmal dazu melden, wenns noch Probleme gibt
-
Falsch, FILE_ATTRIBUTE_READONLY bedeutet nur das der Ordner nicht gelöscht werden kann.
-
asdfl schrieb:
Falsch, FILE_ATTRIBUTE_READONLY bedeutet nur das der Ordner nicht gelöscht werden kann.
Hmmm, ups stimmt ^^ ... Kann man einen Ordner überhaupt sperren, damit man darin nicht mehr schreiben kann? Ausser jetzt mit dem ganzen Security/User Kram?

Grüssli
-