005
25.06.2008, 16:36 Uhr
0xdeadbeef
Gott (Operator)
|
POSIX definiert ein Makro S_ISDIR, so dass
geht. Macht im Zweifel das selbe, ist aber schicker. Man könnte natürlich auch gleich
C++: |
bool existDir(char const *dir) { struct stat s; return stat(dir, &s) == 0 && S_ISDIR(s); }
|
schreiben.
Ansonsten ist dieser Ansatz zwar insofern besser als der erste, als dass er threadsicher ist, aber die restlichen Probleme bleiben bestehen; zum Beispiel werden Zugriffsprobleme nicht von nicht vorhandenen Verzeichnissen unterschieden, und verwobene lange relative Pfade können fehlerhafte Ausgaben zur Folge haben (z.B. "../foo/../foo/../foo/../foo/../" usw.) -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |