25

您如何将整数附加到char*c++ 中的 a ?

4

3 回答 3

29

首先将 int 转换为char*using sprintf()

char integer_string[32];
int integer = 1234;

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

然后将其附加到您的其他 char*,请使用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"
于 2008-12-07T02:40:46.417 回答
11

您也可以使用字符串流。

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

然后可以使用该字符串访问ss.str();

于 2008-12-07T02:45:29.730 回答
4

就像是:

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

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

编辑哎呀 - 没有看到“++”。尽管如此,它仍然是一个替代方案。

于 2008-12-07T02:50:26.460 回答