如何在c/c ++中将一个int添加到char []

gur*_*gui 2 c c++ char

我有这样的代码:

int i = 123;
char myString[100];
strcpy(myString, "my text");
Run Code Online (Sandbox Code Playgroud)

以及我如何在"我的文字"之后添加123.如何在c/c ++中执行此操作?

最后myString应该是my test123

Luc*_*ore 8

在C++中:

std::stringstream ss;
ss << "my text" << i;
std::string resultingString = ss.str();
Run Code Online (Sandbox Code Playgroud)

没有C/C++这样的东西.


Pet*_*ker 7

在C++ 11中:

std::string result = "my text" + std::to_string(i);
Run Code Online (Sandbox Code Playgroud)


小智 5

(补充Luchian的答案)

在C:

char myString[128];
int i = 123;
snprintf(myString, sizeof(myString), "My Text %d", i);
Run Code Online (Sandbox Code Playgroud)

  • 注意:这仅在`myString`是数组时有效.如果它是一个指针,你必须跟踪指向缓冲区的长度并将其作为`snprintf`的第二个参数传递,因为`sizeof(指针)`不是你想要的(它通常是4或8)字节). (2认同)