rechnen mit char (int to char konvertieren)

soeni1987

Mitglied
ich hab folgendes problem:

ich hab eine eingabezeile, die lese ich ein und bekomme eine zahl in eim char array

char* zahl= 0001;

das funktioniert sowiet. nun möchte ich die zahl um eines erhöhen. wie kann ich diese zahl, in ein int umwandeln, um eins erhöhen und das int wieder in ein char wandeln oder gibt es da bessere möglichkeiten eventuell gleich mit char zu rechnen. wenn nicht wie wandelt man das denn um, ich hab nur folgendes gefunden:

int zahl1 = (int)zahl;

und

char* zahl2 = (char*)zahl1;

aber so löscht er nur jeweils eine stelle also aus 0001 wird 001.

wäre schön, wenn ihr mir helfen könntet
 
Hi.

Du könntest eine Inkrementation für Strings definieren. Dazu müßtest mit dem Zeichen ganz rechts anfangen und es auf '0' setzen wenn eine '9' drin steht, sonst müßtest du es nur um 1 erhöhen. Ggf. müßtest du das im Fall eines Überlaufs (eine '9' stand an der Stelle) für die Stelle links daneben genauso machen.

Alternativ könntest du die sscanf Funktion verwenden um den Wert als int einzulesen. Den kannst du dann inkrementieren und mit sprintf wieder in den String zurückschreiben.

Gruß
 
Zurück