Hallo guten Tag.
Wie kann man bitte eine Integer in einem String umwandeln?
ATOI gibt es in Hi-tech-c aber ich finde keine ITOA.
Danke.
Gruss
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von JeeK am
Hallo guten Tag.
Wie kann man bitte eine Integer in einem String umwandeln?
ATOI gibt es in Hi-tech-c aber ich finde keine ITOA.
Danke.
Gruss
Eventuell so:
char str[100];
int n;
sprintf( str, "%d", n );
Es wird fehlerfrei compiliert.
Beim Printen kommt eine Leerzeile.
Der String ist leer.
Danke.
Gruss
In meinem Beispiel muss n natürlich den Wert enthalten, den du in einen String umwandeln willst. Ausserdem muss der String str groß genug sein, um die Zahl n als Zeichenkette aufzunehmen. Also, wenn n=123, dann muss str mindestens 4 Zeichen aufnehmen können: die drei Ziffern und ein abschliessendes Nullbyte. sprintf gibt auch nichts auf dem Bildschirm aus, sondern schreibt alles in den String.
Diese Codestück müsste "Ergebnis: 123" auf dem Bildschirm ausgeben.
Das habe ich bei mir : "Int n=12345;"
Argggg.....Das printf habe ich als nächste Zeile vergessen.
Jetzt funktioniert es.
Danke.
Gruss
Das müsste auch mit n=12345 funktionieren, wenn ich mal davon ausgehe, dass int mindestens 16 Bit breit ist.
Wenn nicht, dann funktioniert wahrscheinlich Hitech-C etwas anders, als die (meisten) anderen C-Kompiler. Du kannst ja mal das Stück Code, in dem du die Zahl konvertieren willst, hier posten.
In meinem Beispiel muss n natürlich den Wert enthalten, den du in einen String umwandeln willst. Ausserdem muss der String str groß genug sein, um die Zahl n als Zeichenkette aufzunehmen. Also, wenn n=123, dann muss str mindestens 4 Zeichen aufnehmen können: die drei Ziffern und ein abschliessendes Nullbyte. sprintf gibt auch nichts auf dem Bildschirm aus, sondern schreibt alles in den String.
Diese Codestück müsste "Ergebnis: 123" auf dem Bildschirm ausgeben.
Aufpassen sollte man hier, ob sprintf() überhaupt konvertiert hat. Der Rückgabewert der Funktion sollte >=0 sein, sonst läuft man Gefahr, das mit einem nicht definierten Inhalt in str[] weiter gearbeitet wird (und printf() dann nur Schrott anzeigt ...).
Könnte man auch mit einem str[0] = '\0'; vvor dem Aufruf ermeiden, falls man sich die Abfrage sparen möchte.
In diesem Fall ist vielleicht nicht mit einem Fehler zu rechnen, aber auf "Hoffnung" zu programmieren kann halt ins Auge gehen und man sollte sich so etwas erst gar nicht angewöhnen.