Char[] oder String ?



  • Hi Leute,
    also irgendwas mache ich falsch, ich möchte einen Zeichensatz, so 10-30 zusammenhängende Zeichen in eine Variable aufnehmen und diese dann auch an Funktionen übergeben, aber irgendwie will das nicht ganz so klappen wie es soll, da ich immer einen compiler-Fehler erhalte, wenn ich es mit

    char test[] = "Dies ist ein Testsatz";
    

    oder mit

    string test "Dies ist ein Testsatz";
    

    probiere, hoffe auf eure Hilfe !



  • void foo(const std::string & t);
    
    std::string test("Hallo Welt");
    
    foo(test);
    


  • wie ist denn der Compiler-fehler?

    Eigentlich sieht es dohc ganz gut aus, wenn man übersieht, dass zwischen string und "Testsatz" ein = fehlt



  • AgentElmo schrieb:

    Hi Leute,
    also irgendwas mache ich falsch, ich möchte einen Zeichensatz, so 10-30 zusammenhängende Zeichen in eine Variable aufnehmen und diese dann auch an Funktionen übergeben, aber irgendwie will das nicht ganz so klappen wie es soll, da ich immer einen compiler-Fehler erhalte, wenn ich es mit

    char test[] = "Dies ist ein Testsatz";
    

    oder mit

    string test "Dies ist ein Testsatz";
    

    probiere, hoffe auf eure Hilfe !

    Mach doch folgendes:

    char test[30] = "Dies ist ein Testsatz";      // Nur maximal 30 Zeichen :) Eigentlich 31 weil bei 0 Angefangen wird zu zählen
    

    Ich denke das mit der Funktion kapierst du schon oder? Ansonsten kann ich es dir gleich nochmal posten 🙂



  • Eigtl. sind's aber doch nur 29 Zeichen, weil der Wert in der eckigen Klammer die Länge des Array ist und nicht der höchste Index, und du musst noch ein NULL-Byte wegrechnen !!!



  • char test[] = "Dies ist ein Testsatz";
    

    sollte an und für sich eigentlich schon funktionieren. wenn du einen compilerfehler bekommst, wäre es natürlich auch ganz hilfreich, den hier anzugeben.

    Die zweite Lösung ist aber vorzuziehen:

    #include <string>
    //...
    std::string foo ("Hello World");
    //oder
    std::string bar = "Hello World";
    


  • danke für eure schnelle hilfe, den compilerfehler weiß ich nimmer so genau, aber danke für eure Hilfe, klar habe ich das mit der Funktion verstanden !

    MfG AgentElmo


Anmelden zum Antworten