int i = 4;
string text = "Player ";
cout << (text + i);我想让它打印Player 4。
上面的内容显然是错误的,但它显示了我在这里要做的事情。有没有简单的方法可以做到这一点,或者我必须开始添加新的includes?
发布于 2013-09-25 14:39:12
使用C++11,您可以这样写:
#include <string> // to use std::string, std::to_string() and "+" operator acting on strings
int i = 4;
std::string text = "Player ";
text += std::to_string(i);发布于 2008-09-15 17:14:11
如果您使用cout,您可以直接将整数写入其中,如下所示
std::cout << text << i;将所有类型的对象转换为字符串的C++方法是通过string streams。如果你手头没有,那就创建一个吧。
#include <sstream>
std::ostringstream oss;
oss << text << i;
std::cout << oss.str();或者,您可以只转换整数并将其附加到字符串。
oss << i;
text += oss.str();最后,Boost库提供了boost::lexical_cast,它使用类似于内置类型转换的语法包装了字符串流转换。
#include <boost/lexical_cast.hpp>
text += boost::lexical_cast<std::string>(i);这也适用于另一种方式,即解析字符串。
发布于 2008-09-15 17:13:54
printf("Player %d", i);(您可以随意否决我的答案;我仍然讨厌C++ I/O操作符。)
:-P
https://stackoverflow.com/questions/64782
复制相似问题