Ein String Zeichen erhöhen



  • Hi Proggis,

    in meinem Programm, speichere ich einzelne Zeichen (Buchstaben und Zahlen) in einem String.

    Beispiel:

    String var = "c";

    Nun möchte ich diesen Wert um 5 erhöhen, so dass aus dem x ein h wird. In einem anderen Beispiel habe ich:

    String var = "x";

    Diese Variable will ich ebenfalls um 5 erhöhen, jedoch soll er ab z wieder bei a anfangen zu zählen. Folglich sollte das ergebnis c sein.

    Wie kann so eine Funktion bauen. Wenn möglichst nur mit Strings arbeiten, also ohne char.

    Hat da wer einen Tipp?

    Stefan



  • Du benutzt den std::string? Nicht den Borland-eigenen AnsiString?

    Grundsätzlich wüsste ich ad-hoc nichts was dir weiterhilft... aber nur mit Strings wirst du wohl nicht auskommen.

    Du könntest natürlich den jeweiligen Hexwert inkrementieren und dann bei "z" wieder auf "a" zurücksetzen.. aber vielleicht hat jemand anderes noch eine intelligente Idee.
    Mir is grad einfach zu heiss *g*



  • Ist zwar nicht grad das gelbe vom Ei, sollte aber funktionieren:

    Mach dir nen String mit dem Inhalt "abcdefghijklmnopqrstuvwxyz"

    Ermittle den aktuellen index per AnsiString::Pos()

    Addiere 5

    Wenn index > 26 subtrahiere 26

    Ermittle das neue Zeichen per AnsiString::operator[]()

    @<Mike>:
    String != std::string
    String == AnsiString



  • @Eßer
    Also String ist für mich etwas aus der Delphiwelt...
    Aber ich lasse mich immer gerne aufklären. 😃


Anmelden zum Antworten