Christian Seiler: (C) Dateien von Verzeichnissen unterscheiden

Beitrag lesen

Hallo Hopsel,

Ich möchte ein Verzeichnis inklusive Unterordnern ausgeben. Dabei kommen mir allerdings die im Verzeichnis enthaltenen Dateien in die Quere. Wie kann ich eine Datei von einem Verzeichnis unterscheiden?

In ANSI C ist das meines Wissens ncht standardisiert. Unter POSIX [1] musst Du stat() (oder vmtl. besser lstat()) aufrufen, dann bekommst Du den Dateityp (Datei, Verzeichnis, Socket, Symbolischer Link, blockorientiertes Gerät, zeichenorientiertes Gerät, FIFO) und noch eine ganze Menge anderer Informationen (z.B. Dateigröße, Datum der letzten Änderung, ...) heraus. Unter Windows musst Du etwas anderes verwenden, irgend einen Windows-API-Aufruf vermutlich. Unter nochmal anderen Betriebsystemen musst Du wieder etwas anderes verwenden.

Viele Grüße,
Christian

[1] Lies: Hinreichend POSIX-kompatible Betriebsysteme, wie die meisten UNIX-Derivate, darunter FreeBSD, Linux, Solaris, ...

--
"I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone." - Bjarne Stroustrup