我有這樣的代碼:如何將INT添加到在C的char []/C++
int i = 123;
char myString[100];
strcpy(myString, "my text");
,以及如何我想「我的文字」之後添加123。如何在c/C++中做到這一點?
在端myString
是前人的精力my test123
我有這樣的代碼:如何將INT添加到在C的char []/C++
int i = 123;
char myString[100];
strcpy(myString, "my text");
,以及如何我想「我的文字」之後添加123。如何在c/C++中做到這一點?
在端myString
是前人的精力my test123
(爲了補充Luchian的回答)
在C:
char myString[128];
int i = 123;
snprintf(myString, sizeof(myString), "My Text %d", i);
注意:這隻適用於'myString'是一個數組。如果它是一個指針,您必須跟蹤指向緩衝區的長度並將其作爲「snprintf」的第二個參數傳入,因爲「sizeof(pointer)」不是您想要的(它通常是4或8字節)。 –
@AdamRosenfield我意識到這一點。看到編輯的答案:) – 2012-09-27 20:04:58
是的,我只是補充澄清,以防有人來了,並決定複製+粘貼代碼,但沒有完全理解它。 –
在C++:
std::stringstream ss;
ss << "my text" << i;
std::string resultingString = ss.str();
有沒有這樣的東西作爲C/C++。
假設了mystring是足夠大的,這是在本例中:
sprintf(myString, "my text%d", 123);
對不起,man,但-1不使用snprintf()。你應該真的很安全。 – 2012-09-27 19:56:58
Heh,H2CO3是正確的,使用他的形式;-) –
在C++ 11:
std::string result = "my text" + std::to_string(i);
機智h C++中的Qt QString對象:
std::cout << QString("my text %1").arg(123456);
這是C還是C++? – chris
C和C++是兩種不同的語言。他們用C來做這件事的方式與C++中的做法完全不同。 –
如果C++,看看這個:http://stackoverflow.com/questions/5590381/easiest-way-to-convert-int-to-string-in-c – chris