[Frage] Zeiger addieren



  • Hallo!
    Ich habe eine Frage zu C++. ISt es möglich sowie bei Strings Zeiger zu "addieren"(in meinem FAll jetzt const char*). ICh möchte nämlich danach eine Funktion benutzen, die einen const char* Parameter erwartet.

    Mfg



  • Nein! Wenn du nicht weist warum -> Pointer noch einmal angucken. Was aber möglich wäre:

    void foo(const char *p)
    {
      std::cout << p << std::endl;
    }
    
    int main()
    {
      char a[] = "Hallo, ";
      char b[] = "Welt!";
      foo((std::string(a) + b).c_str());
    }
    


  • Geht die Frage auch ein wenig ausführlicher?

    Versuch einer Antwort: Zwei Zeiger zu addieren geht nicht (macht auch technisch nicht viel Sinn). Aber du kannst einen int-Wert mit einem Zeiger addieren ( p+n liefert einen Zeiger, der n Elemente weiter in dem Array liegt, auf das p (vermutlich) zeigt).



  • cooky451 schrieb:

    Nein! Wenn du nicht weist warum -> Pointer noch einmal angucken. Was aber möglich wäre:

    void foo(const char *p)
    {
      std::cout << p << std::endl;
    }
    
    int main()
    {
      char a[] = "Hallo, ";
      char b[] = "Welt!";
      foo((std::string(a) + b).c_str());
    }
    

    Danke... Und ja shame on me... Zeiger=Adressen Adressen addieren= doof 😃

    Und dein Tipp hat mir geholfen...



  • Ähhh..
    Vielleicht suchst du die Funktion strncat mit folgender Syntax:

    #include <cstring>
    char* strncat ( char* dst, const char* src, size_t n);
    

    Diese Funktion hängt n Zeichen der Zeichenkette src an dst an.

    Falls du sowas gemeint hast ...


Anmelden zum Antworten