Dateiattribute via std::filesystem?



  • G' Morgen,

    seit dem 17er Standard gibt es den namespace std::filesystem. Ich vermisse allerdings die Möglichkeit, die Dateiattribute "hidden", "write protected", etc. abzufragen.

    Kann jemand helfen? Vielen Dank im Voraus.

    lg Torsten



  • Wenn es hier https://en.cppreference.com/w/cpp/filesystem/perms nicht dabei ist, wirst du wohl das Betriebssystem befragen müssen.


  • Mod

    Schreibbarkeit sollte so implementiert sein, dass du die Permission owner_write abfragen kannst, und unter Windows das korrekte Ergebnis bekommst. Du ignorierst dabei einfach, dass es im POSIX-Modell noch feinstufigere Unterscheidungen gibt.

    Das Hidden-Attribut (oder andere Windowsattribute wie "archive", "compressed", etc.) wirst du so aber nicht bekommen. Da gibt es auch gewiss keinen Standardweg dafür, denn das ist FAT/NTFS spezifisch. Ich denke nicht, dass du darum herum kommen wirst, spezifische Funktionen des Betriebssystems dafür zu bemühen (wie GetFileAttributes aus der Winapi). Da die Abfrage solcher Attribute zu 99% heißt, dass du nur unter Windows unterwegs bist, sollte das nicht so sehr ein Problem sein. Soll ich deine Frage dafür nach Winapi verschieben?

    Falls du unter Linux solche Attribute von einem gemounteten NTFS Laufwerk abfragen möchtest, dann sag Bescheid, dann recherchier ich da mal. Da muss man womöglich den Filesystemtreiber für fragen, oder ähnliches.



  • Danke manni66 und SeppJ, dann gehe ich über die WinAPI 🙂

    lg Torsten


Anmelden zum Antworten