char Array als Parameter



  • Hi,

    ich habe eine Anfängerfrage zu char-Arrays. Ich habe eine Klasse definiert, die das Feld test char[10] enthält. Nun will ich mit dem Konstruktor einen Parameter übergeben, der dem Feld einen Wert zuweist. Wie macht man dies wirklich gut?

    Ich hatte es jetzt so, aber ist dies so korrekt? Weil mit den Zeigern und der festen Größe sehe ich hier noch nicht ganz durch.

    Ctor(char *t[10])
    {
     *test[10] = *t[10];
    }
    
    char *test[10];
    

    Danke.



  • char* test[10];
    

    ist ein Array aus char-Zeigern. Ist das das, was du erreichen willst? Oder solle es ein char-Array bestehend aus 10 chars sein?

    P.S.: std::vector und std::string sind vllt bedenkenswert.

    Gruß
    Don06



  • Ich will eigentlich ein char-Array aus 10 chars! Reicht es dann, wenn ich einfach das * weg mache und dann sage:

    test[10] = t[10];
    

    Wie sieht dann der getter für die Variable test aus?
    So:

    char* getTest()
    {
            return test;    
    }
    

    Danke.



  • Eisscholle schrieb:

    Ich will eigentlich ein char-Array aus 10 chars! Reicht es dann, wenn ich einfach das * weg mache und dann sage:

    test[10] = t[10];
    

    Was willst Du denn damit erreichen? Damit weist Du das 11. Zeichen aus t dem 11. Zeichen von test zu. Wenn Du ganze Strings kopieren möchtest musst Du Dir die Funktionen strcpy et al anschauen. Oder Du benutzt einfach C++-like die Klasse std::string.



  • Hi,

    das habe ich auch gerade gemerkt. Ich will den Wert vom Parameter t in die Variable test schreiben. Beides char[10]. Habe es jetzt mit

    strcpy(test,t);
    

    gemacht und dann sollte ich den Wort doch in test haben, oder?

    Danke.


Anmelden zum Antworten