Flags
-
Hallo,
kann mir mal jemand sagen, wie man flags abfrägt??? Irgendwie mit dem & Operator
habe ich beim googlen gesehen, aber das hab ich irgendwie nicht gechecked.Vielen Dank!!!
-
Das sind Bit-Operatoren was du suchst.
Jedes Bit steht für eine Potenz von 2, siehe binäres Zahlensystem, Aufbau eines Bytes etc.
Du erstellst Flag-Konstante, zB:
const int flag_Important = 1; const int flag_Perverted = 2; const int flag_Boring = 4; const int flag_Private = 8;
und so weiter.
Dann kannst du folgendes machen:
if (dateiFlag & flag_Important){ //... was gemacht werden soll wenn dateiFlag den Flag für Important hat }
Der &-Operator setzt bei dem Resultat nur die Bits, die bei beiden Operanden vorhanden sind. Dann wird geprüft ob dieses Resultat ungleich 0 ist und wenn das der Fall ist, war das Flag gesetzt.
Erstellen eines Flags für etwas geht zB so:
int meinPrivaterWichtigerFlag = flag_Private | flag_Important;
Der | Operator setzt die Bits beim Resultat, die mindestens in einem der beiden Operanden gesetzt waren.
-
Danke! Jetzt habe ich's verstanden!!!