dateien in einem verzeichnis feststellen
-
terites--; schrieb:
oder habe ich etwas nicht berücksichtigt?
Hast du. Die Dateiattribute sind Flags, die miteinander kombiniert werden können. Es reicht also nicht aus, auf Gleichheit mit FILE_ATTRIBUTE_DIRECTORY zu prüfen, denn damit erreichst du nur die Verzeichnisse, bei denen kein anderes Flag gesetzt ist.
Formulier die Prüfung so:
if( FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
-
ok verständlich aber was genau heißt das jetzt in logiksprache?
if( FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
& ist ja kein && also was sagt das dem compiler?
-
Hallo
das einfache & ist eine Bitoperation, genauer gesagt ein binäres AND.
In deinem Fall wird geprüft, ob die Bits die in FILE_ATTRIBUTE_DIRECTORY auf 1 stehen (und das ist genau eins), auch in FindFileData.dwFileAttributes gesetzt sind.
bis bald
akari