galgenmännchen



  • if(c==str[i])
                {
                    show[i] = true;
                }
    
                else
                { 
                  //else anweisung
                }
    

    das problem ist, das auch wenn 'c' in 'str' enhalten ist, er trotzdem die else anweisung ausführt, y?



  • Hi

    Ich meine nicht das meine erklärung so falsch gewesen ist.
    Warum soll das mit der binären Null falsch sein ? strlen ist doch eine Stringfunktion und dafür da die länge eines Strings zu zählen und eine binäre Null anzuhängen damit der Compiler weiss wo der String zu ende ist.
    Noch zu erwähnen sei das durch new die Informationen auf dem Heap-speicher abgelegt werden.

    mfg



  • strlen hängt nichts an, strlen gibt nur die länge eines strings zurück. und übrigens, was ist der unterschied zwischen ner binären und ner dezimalen null?



  • Es würd was rangehängt. Jedenfalls sagt mein C++ Buch was anderes. ⚠
    Aber egal ....
    hmmm der Unterschied !? Darauf weiß ich jetzt keine Antwort 🙄

    mfg



  • dann schmeiß das buch weg ;).

    strlen
    Get the length of a string.

    size_t strlen( const char *string );

    Return Value

    Each of these functions returns the number of characters in string, excluding the terminal NULL. No return value is reserved to indicate an error.

    Parameter

    string

    Null-terminated string

    Remarks

    Each of these functions returns the number of characters in string, not including the terminating null character. wcslen is a wide-character version of strlen; the argument of wcslen is a wide-character string. wcslen and strlen behave identically otherwise.

    das bekommt einen string. der ist in c mit einer 0 ('\0') abgeschlossen. strlen zählt die zeichen von dem übergebenen pointer bis zum abschließenden '\0' ...

    Bezüglich Binärer Null und dezimaler Null: 0 = 0 :). Wohingegen 0 != '0' .. Ich weiß nicht, ob du das meinst, also das 0 natürlich nicht den ASCII Wert 0 hat. Wie auch immer...



  • hi

    @mata:
    Du hast doch recht 🙂 hab jetzt noch mal in mein Buch geschaut und es steht doch nix von anhängen drin 😮 Da habe ich wohl falsch gedacht .....
    Gut das wir das jetzt klargestellt haben 😉
    ehm wie bist du jetzt eigentlich auf das Tehma binäre null gekommen !? 😕

    mfg



  • na weil du irgendwas von ner binären null geschrieben hast ;):

    SpIriT alias PrOjEcT101 schrieb:

    Hi

    bool* show = new bool [strlen(str)];
    

    Das new bool [strlen(str)]; veranlasst das der String zur laufzeit(Dynamisch !?)durchgezählt wird bzw durch strlen würd die länge der Zeichenkette ermittelt und abschließend eine binäre Null rangehängt um das Ende der Zeichenkette festzulegen. Achja und bool * ist einfach nur ein Zeiger der auf die Speicher-Adresse von show zeigt.
    ich hoffe ich hab nichts falsches gesagt. 😑

    PS: währ ein string * str = "blabla" nicht sinnvoller als char !?

    mfg



  • aso jo. ja wie gesagt da würd nix rangehängt.

    Jetzt versteh ich auch was du damit gemeint hast:

    und übrigens, was ist der unterschied zwischen ner binären und ner dezimalen null?

    Muss also nicht unbedingt eine >> binäre << Null sein am ende einer Zeichenkette oder wie ?
    Ist ja egal. ist ja beides das gleiche. ne 😕

    mfg



  • back to topic jungs 😉

    häng immer noch an den 2 probs:
    1. wie sag ich ihm das alle buchstaben aufgedeckt sin?
    2.

    if(c==str[i])
                {
                    show[i] = true;
                }
    
                else
                {
                  //else anweisung
                }
    

    geht er da auch in die else anweisung, obwohl c in str enthalten is....



  • HELP!! plz



  • *topic wieder hochschieb*



  • Was genau ist dein Problem?

    MfG SideWinder



  • häng immer noch an den 2 probs:
    1. wie sag ich ihm das alle buchstaben aufgedeckt sin?
    2.

    if(c==str[i])
                {
                    show[i] = true;
                }
    
                else
                {
                  //else anweisung
                }
    

    geht er da auch in die else anweisung, obwohl c in str enthalten is....


Anmelden zum Antworten