Vertauschen von Stringelementen im Unterprogramm.



  • Hallo.

    Ich haben einen String gegeben, diesen übergebe ich an eine unterfunktion(via zeiger).
    Bis dahin kein problem, wie tausche ich in diesen unterprogramm meine Elemente. Bsp.: aus string[]="Text" soll -> ="txeT" werden.

    Danke für eure Antworten schon einmal im voraus! 🙂



  • Mit der STL (Header <algorithm>):

    using namespace std;
    
    string test = "Test";
    reverse(test.begin(), test.end());
    cout << test << endl;
    

    /Edit: Oder, wenn man die Funktion selbst schreiben will:

    template <typename RanIt>
    void my_reverse(RanIt begin, RanIt end)
    {
        while (begin < end) std::swap(*begin++, *--end);
    }
    


  • Wenn du mit Pointern arbeitest kannst du wenn du

    <string.h>
    

    inkludierst
    die Funktion

    _strrev
    

    verwenden.
    Die gibt dir einen Pointer auf den umgedrehten String zurück.



  • ha3e schrieb:

    Wenn du mit Pointern arbeitest kannst du

    ... meinen Code benutzen! Der funktioniert auch mit Zeigern.

    <string.h>

    Hey, das ist ein C++-Forum. <string.h> gibt es in C++ nicht, nur <cstring>. Aber wie gesagt, das ist unnötig.



  • Schnuffel schrieb:

    Hallo.

    Ich haben einen String gegeben, diesen übergebe ich an eine unterfunktion(via zeiger).
    Bis dahin kein problem, wie tausche ich in diesen unterprogramm meine Elemente. Bsp.: aus string[]="Text" soll -> ="txeT" werden.

    std::string oder char*?



  • Danke konrad. hat bei mir bestens funktioniert!
    -char*-


Anmelden zum Antworten