Frage

Wie würden Sie eine ganze Zahl mit einem char* in C ++ anhängen?

War es hilfreich?

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
scroll top