Gast
#444402
Ich habe z.B. ein char vorliegen, das den Wert 32 enthält. Wie kann ich daraus einen string erhalten, der '3' und '2' enthält?
|
Anzeige
|
int to string
Gast
#444402
Ich habe z.B. ein char vorliegen, das den Wert 32 enthält. Wie kann ich daraus einen string erhalten, der '3' und '2' enthält?
Gast
#444406
welche programmierspache?
Gast
#444409
Wenn C oder C++ dann:
int i = 100;
char* str = Printf("%d", i) //"%d" steht für die variable es ist auch
"nummer: %d" und so weiter möglich
Gast
#444412
Das heißt, ich könnte auch sprintf(str, "%d", i) verwenden? Ich bin mir jetzt nicht sicher, ob es den Zahlenwert (32) nimmt, oder das ASCII-Zeichen hinter dem sich 32 verbirgt.
Gast
#444413
Sorry, natürlich char str[100]; sprintf (str, "%d", i); ich bin so CString versaut ^^
Gast
#444415
Der formatiert die Variablen in normale ascii zeichen... also wird die
int variable {32} zu "32"
es gibt auch andere zeichen anstatt "%d" (für ganze zahlen)... zB "%f"
für nachkommazahlen.
Gast
#444515
> Der formatiert die Variablen in normale ascii zeichen... also wird die > int variable {32} zu "32" ...wobei darauf zu achten ist, dass zu einem ASCII-String grundsätzlich noch der Nullterminator am Ende gehört, der von allen Funktionen, die eine Konvertierung in ASCII durchführen (also die printf-Derivate aus der stdio.h und die stdlib.h-Funktionen itoa, dtostrf, dtostre,...) erzeugt und auch gespeichert wird! Deshalb muss das Array, in dem man den String ablegt, mindestens eine Stelle mehr haben, als man maximal ausgeben will, sonst läufts über. Ähm, sprintf geht zwar, produziert aber recht viel Overhead. Für etwas so triviales nimmt man lieber itoa()
Gast
#445148
Wie wird der String eigentlich von sprintf in den Buffer (str) geschrieben? Bsp.: char str[25]; sprintf(str, "%d", 123); Steht dann an Arrayindex 24 die "1", an Index 23 die "2", an Index 22 die "3" und an Index 21 das "\0"? Wieso sollte er das Array von hinten auffüllen (mal abgesehen davon, dass sprintf nicht mal weiss, wie gross das Array ist). Der String wird natürlich von unten (also ab str[0]) gefüllt.
Gast
#445159
Stimmt, es steht also genau umgekehrt im Array schäm Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|