首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C++中,如何将整型追加到字符串中?

在C++中,如何将整型追加到字符串中?
EN

Stack Overflow用户
提问于 2008-09-15 17:09:36
回答 20查看 530.4K关注 0票数 189
代码语言:javascript
运行
复制
int i = 4;
string text = "Player ";
cout << (text + i);

我想让它打印Player 4

上面的内容显然是错误的,但它显示了我在这里要做的事情。有没有简单的方法可以做到这一点,或者我必须开始添加新的includes?

EN

回答 20

Stack Overflow用户

发布于 2013-09-25 14:39:12

使用C++11,您可以这样写:

代码语言:javascript
运行
复制
#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);
票数 289
EN

Stack Overflow用户

发布于 2008-09-15 17:14:11

如果您使用cout,您可以直接将整数写入其中,如下所示

代码语言:javascript
运行
复制
std::cout << text << i;

将所有类型的对象转换为字符串的C++方法是通过string streams。如果你手头没有,那就创建一个吧。

代码语言:javascript
运行
复制
#include <sstream>

std::ostringstream oss;
oss << text << i;
std::cout << oss.str();

或者,您可以只转换整数并将其附加到字符串。

代码语言:javascript
运行
复制
oss << i;
text += oss.str();

最后,Boost库提供了boost::lexical_cast,它使用类似于内置类型转换的语法包装了字符串流转换。

代码语言:javascript
运行
复制
#include <boost/lexical_cast.hpp>

text += boost::lexical_cast<std::string>(i);

这也适用于另一种方式,即解析字符串。

票数 211
EN

Stack Overflow用户

发布于 2008-09-15 17:13:54

代码语言:javascript
运行
复制
printf("Player %d", i);

(您可以随意否决我的答案;我仍然讨厌C++ I/O操作符。)

:-P

票数 125
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档