Fügen Sie ein int in char *
Frage
Wie würden Sie eine ganze Zahl mit einem char*
in C ++ anhängen?
Lösung
Zuerst wandelt die int zu einem char*
mit sprintf()
:
char integer_string[32];
int integer = 1234;
sprintf(integer_string, "%d", integer);
Dann hängen Sie ihn an Ihren anderen char *, Verwendung strcat()
:
char other_string[64] = "Integer: "; // make sure you allocate enough space to append the other string
strcat(other_string, integer_string); // other_string now contains "Integer: 1234"
Andere Tipps
Sie können auch stringstreams verwenden.
char *theString = "Some string";
int theInt = 5;
stringstream ss;
ss << theString << theInt;
Die Zeichenfolge kann dann zugegriffen werden ss.str();
So etwas wie:
width = floor(log10(num))+1;
result = malloc(strlen(str)+len));
sprintf(result, "%s%*d", str, width, num);
Sie len vereinfachen könnten die maximale Länge für eine ganze Zahl auf Ihrem System verwendet wird.
Bearbeiten oops - nicht sehen, die "++". Dennoch ist es eine Alternative.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow