boolalpha



  • Hallo,

    wenn ich eine bool- wert als text ausgeben will, benutz man doch boolalpha.
    aber wie ganau??
    ich habe es nämlich ausprobiert aber keine meiner varianten war richtig.
    könnt ihr mir mal bitte ein beispiel für die ausgabe mit boolalpha geben.
    Danke



  • Beispiel:

    bool x = true;
    cout << setf(ios::boolalpha) << x;
    

    Sollte klappen.

    Code-Hacker



  • Aus der MSDN:

    // ios_boolalpha.cpp
    // compile with: /EHsc
    #include <iostream>
    
    int main( ) 
    {
       using namespace std;
       bool b = true;
       cout << b << endl;
       boolalpha( cout );
       cout << b << endl;
       noboolalpha( cout );
       cout << b << endl;
       cout << boolalpha << b << endl;
    }
    

    Viel Erfolg damit.

    MfG Jester



  • ich habe folgendes:

    m_dparadlg.m_kaktortyp ="AT1"

    wie binde ich das jetzt zusammen dass das AT1 ausgegeben wird.
    P.S. m_kaktortyp bezieht sich auf ein kontrollkästchen welches nur bool zurück gibt.



  • weiss den keiner eine antwort??



  • Kannst Du Deine Frage nochmal neu formulieren?
    Ich kann sie irgendwie nicht parsen.



  • Ich habe ein kontrollkästchen, das wenn es angeklickt wird ja einen boolschen-wert hat, dem habe ich eine Variable zugeordnet (kontrollkästchen):

    m_kaktortyp
    

    .
    ich möchte jetzte eine ausgabe machen wenn der kasten angeklickt wird das es einen text ausgibt. Das könnte ich ja mit einer if-anweisung machen da ich aber mehrere kasten habe und ich nicht für jeden eine anweisung schreiben wollte, dachte ich man könnte es mit boolalpha probieren. Ich weiss aber nicht wie ich das schreiben soll.... ich meine richtig mit einbezug meiner variablen

    m_dparadlg.m_kaktortyp = "AT1"
    1 2 3

    1. Variable die sich auf ein dialogfenster bezieht
    2. Variable des kontrollkästchens
    3. Ausgabe die es machen soll, anstatt true oder false


  • Ich denke m_kaktortyp ist vom Typ bool. Wieso versuchst Du dann ihm eine Zeichenkette zuzuweisen?



  • das ist es ja eben, ich weiss nicht wie
    und über boolalpha findet man nicht sehr viel
    kannst du mir einen tip geben wie ich das am saubersten löse..



  • Also boolalpha wird Dir da nicht viel helfen. Du wirst für's erste schon den Code jeweils schreiben müssen.

    boolalpha kann nur eines:

    bei Ausgabe mit cout wird ein bool normalerweise zu 0/1, wenn Du boolalpha vorausschickst, dann wird es zu true/false, es wird also einfach der Text statt des Wertes ausgegeben.

    MfG Jester



  • danke, das hat mir sehr geholfen
    ich muss jetzt für die einzelnen ausgaben immer eine if-anweisung schreiben
    oder wie??



  • Ja, im Prinzip schon, aber Du kannst ja ähnliche Code-Teile in eine eigene Funktion auslagern:

    ZumBeispiel:

    #include <iostream>
    #include <string>
    
    using namespace std;
    
    void PrintIf(bool DoPrint, const string & text)
    {
      if(DoPrint) cout << text;
    }
    
    int main()
    {
       bool b1 = true;
       bool b2 = false;
       bool b3 = true;
    
       PrintIf(b1, "Hallo 1\n");
       PrintIf(b2, "Hallo 2\n");
       PrintIf(b3, "Hallo 3\n");
    }
    

    Spart zumindest etwas Schreibarbeit.

    MfG Jester



  • Danke für die hilfe, das hat mich wieder ein stück dem ziel näher gebracht 🙂


Anmelden zum Antworten