25 Stimmen

Fügen Sie ein int zu char* hinzu

Wie würden Sie einen Integer an einen char* in C++ anhängen?

29voto

Paige Ruten Punkte 164391

Zuerst konvertieren Sie den int in ein char* mit sprintf():

char integer_string[32];
int integer = 1234;

sprintf(integer_string, "%d", integer);

Dann können Sie es an Ihren anderen char* anhängen, verwenden Sie strcat():

char other_string[64] = "Integer: "; // Stellen Sie sicher, dass Sie genügend Platz haben, um den anderen String anzuhängen

strcat(other_string, integer_string); // other_string enthält jetzt "Integer: 1234"

11voto

Sydius Punkte 12717

Sie könnten auch Stringstreams verwenden.

char *theString = "Einige Zeichenfolge";
int theInt = 5;
stringstream ss;
ss << theString << theInt;

Die Zeichenfolge kann dann mit ss.str(); abgerufen werden.

4voto

Draemon Punkte 32703

Etwas wie:

width = floor(log10(num))+1;
result = malloc(strlen(str)+len));
sprintf(result, "%s%*d", str, width, num);

Sie könnten len vereinfachen, indem Sie die maximale Länge für eine Ganzzahl auf Ihrem System verwenden.

Bearbeiten Ups - habe das "++" nicht gesehen. Trotzdem ist es eine Alternative.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X