Anzahl der Elemente in einem Char Array ausgeben



  • Hey Leute!

    Nur eine kleine Frage auf die ich leider keine Lösung gefunden habe. Wie kann ich die Anzahl an Elementen in einem char array ausgeben. Das Problem ist, dass beim Zeitpunkt der Deklarierung die Anzahl der benötigten Plätze noch nicht feststeht und ich daher einfach [100] schreibe.

    Mit sizeof() geht es dementsprechend nicht, weil die immer '100' liefert, unabhängig davon, wie viele chars dann schlussendlich im array sind.

    Kann mir da jemand helfen?


  • Mod

    Benutz std::string für Zeichenketten variabler Länge. Problem gelöst.



  • Wenn du das Array als [100] deklarierst, enthält es von Anfang bis Ende immer 100 chars.


  • Mod

    Du suchst wohl std::strlen . Vorausgesetzt, deine Zeichenkette ist Nullterminiert.



  • Du könntest kurzeitig das char-array in einen string umwandeln
    und dann mit length() die Länge abfragen. Ist eher kompliziert und langsam,
    aber es geht.
    Sonst muss man heuer eher zu string tendieren und diesen im Fall kurzeitig in einen char-array umwandeln 🙂



  • vorbeileser schrieb:

    Du könntest kurzeitig das char-array in einen string umwandeln
    und dann mit length() die Länge abfragen. Ist eher kompliziert und langsam,
    aber es geht.

    Wie soll er das machen, wenn er die Länge nicht kennt?
    Bzw. falls das char-Array nullterminiert ist, dann kann er sich die Konvertierung in std::string sparen und gleich std::strlen nehmen - wie Ha-so-coth schon geschrieben hat.


Anmelden zum Antworten