如何在C ++中将一个int附加到字符串中? [英] How do you append an int to a string in C++?
问题描述
int i = 4;
string text = "Player ";
cout << (text + i);
我想打印 Player 4
。
上面显然是错误的,但它显示了我在这里要做的事。是否有一个简单的方法来做到这一点,或者我必须开始添加新的包括?
The above is obviously wrong but it shows what I'm trying to do here. Is there an easy way to do this or do I have to start adding new includes?
推荐答案
可以直接写入整数,如
std::cout << text << i;
将各种对象转换为字符串的C ++方法是通过串流。如果你没有一个方便,只需创建一个。
The C++ way of converting all kinds of objects to strings is through string streams. If you don't have one handy, just create one.
#include <sstream>
std::ostringstream oss;
oss << text << i;
std::cout << oss.str();
或者,您只需转换整数并将其追加到字符串即可。
Alternatively, you can just convert the integer and append it to the string.
oss << i;
text += oss.str();
最后,Boost库提供 boost :: lexical_cast
, in type cast。
Finally, the Boost libraries provide boost::lexical_cast
, which wraps around the stringstream conversion with a syntax like the built-in type casts.
#include <boost/lexical_cast.hpp>
text += boost::lexical_cast<std::string>(i);
这也可以反过来,也就是解析字符串。
This also works the other way around, i.e. to parse strings.
这篇关于如何在C ++中将一个int附加到字符串中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!