在char *中附加一个int

时间:2008-12-07 02:30:55

标签: c++ integer char append

如何在c ++中将整数附加到char*

3 个答案:

答案 0 :(得分:24)

首先使用char*

将int转换为sprintf()
char integer_string[32];
int integer = 1234;

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

然后将其附加到您的其他字符*,请使用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"

答案 1 :(得分:9)

你也可以使用stringstreams。

char *theString = "Some string";
int theInt = 5;
stringstream ss;
ss << theString << theInt;

然后可以使用ss.str();

访问该字符串

答案 2 :(得分:4)

类似的东西:

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

您可以使用系统上整数的最大长度来简化len。

编辑 oops - 没有看到“++”。不过,这是另一种选择。