Veröffentlicht 12. November 200123 j Hi, ich bin's mal wieder. Also, ich habe jetzt angefangen in meinem Programm (welches ja Dateien nach Suchbegriffen durchsucht, die inzwischen direkt über die Command Line mitgegeben werden) den User entscheiden zu lassen ob er die Begriffe mit 'und' oder 'oder' verknüfen will. Um dieses dann auszuwerten habe ich einen Counter benutzt. Mein Chef meinte jetzt es wäre besser ein Array zu nehmen in dem ich Flags setzte und dann hinterher entscheide wie das Ergebniss ausfällt. Wie mache ich soetwas :confused: ? Bitweises setzten auf true bzw. false? Bine
12. November 200123 j Könntest Du nicht einfach mit einer Variable vom Typ "bool" arbeiten? Die kannst Du auf "true" oder "false" setzen, je nachdem ob der User beide Begriffe sucht (und-Verknüpfung) oder nur einen davon (oder-Verknüpfung). Dann prüfst Du den Status der bool-Variable und entscheidest Dich dann für den richtigen Programmzweig... Oder direkt den übergebenen Parameter prüfen, ohne einer bool-Variable true oder false zuzuweisen?! Vielleicht verstehe ich die Frage aber auch nicht richtig?! DocMabuse <FONT COLOR="#a62a2a" SIZE="1">[ 12. November 2001 13:34: Beitrag 2 mal editiert, zuletzt von DocMabuse ]</font>
12. November 200123 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von Woodstock: <STRONG>Mein Chef meinte jetzt es wäre besser ein Array zu nehmen in dem ich Flags setzte und dann hinterher entscheide wie das Ergebniss ausfällt. Wie mache ich soetwas :confused: ? Bitweises setzten auf true bzw. false? </STRONG>
12. November 200123 j Nein, lieber wäre mir ein Array mit boolschen Werten, aber ich habe davon (zumindest jetzt) noch keine Ahnung. Wie läuft das bei einem solchen Array. Kann ich das in der MSDN nachlesen? Wenn ja unter was? Muss ich das Array dynamisch anlegen? Bine
12. November 200123 j Wenn ich mich recht entsinne, bist Du ja mit ANSI-C zugange. Da gibts keinen bool-Typ. Man nimmt einfach eine char-Variable. Ist sie Null, gilt das als false, in allen anderen Faellen ist sie true. so etwa: char c1=37, c2=-37, c3=0; if (c1) ... true if (c2) ... true if (c3) ... false Das Gleiche gilt fuer Ausdruecke: if (c1+c2) ... false if (c1-c2) ... true if (c1*c3) ... false Als Array: char c[] = {37, -37, 0}; if (c[2]) ... false Joo, so is datt... Uli
12. November 200123 j Muss ich das Array denn jetzt dynamisch machen, oder von vornherein sehr groß wählen und hoffen das nichtmehr Suchbegriffe gesucht werden? Bine
12. November 200123 j Dynamische Arrays sind immer etwas toleranter und belegen keinen unnötigen Speicherplatz - daher tendiere ich immer dazu, wenn du damit klarkommst, ist das oft die günstigere Wahl Der "klassische" C-Weg wäre ja entweder: #define TRUE 1 #define FALSE 0 oder enum mybool{false=0, true}; Allerdings sind bei MSVC, das du meines Wissens benutzt, TRUE und FALSE schon passend definiert und du kannst einfach den Typ bool benutzen. Leider ist dein Code dann nicht mehr reines ANSI-C und infolgedessen nicht mehr portabel. Du kannst aber andere sprechende Namen verwenden, wie WAHR/FALSCH oder bineTrue/bineFalse ...
13. November 200123 j Also das mein Code portabel ist, darauf kommt es wohl nicht an, denn sonst hätte mein Chef ja nicht gesagt ich solle boolsche Werte benutzen. Ich weiß nur nicht so ganz wie ich das anstellen soll. Klappt mal wieder nicht so wie ich es gerne hätte. Bine
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.