首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将多个字符组合成一个字符串?

如何将多个字符组合成一个字符串?
EN

Stack Overflow用户
提问于 2013-12-08 03:36:28
回答 4查看 47.1K关注 0票数 19

我正在做字符串解析,实际上我想做的是这样的事情:

代码语言:javascript
复制
string signature = char[index+1] + '/' + char[index+2];

但是你不能在char上做字符串连接,所以这就引出了这个问题,我如何在char上模拟连接呢?

我知道C++中的字符串库已经附加了,但我不认为这适用于我的情况。有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-12-08 03:40:07

您可以将字符连接到std::string,只需要一个操作数作为std::string,否则就会添加整数。

代码语言:javascript
复制
std::string signature = std::string() + char_array[index+1] + '/' + char_array[index+2];

注意,只有当链中的第一个或第二个操作数是std::string时,这才有效。这将导致对operator+的第一次调用返回一个std::string,其余的也会随之进行。因此,这并没有给出预期的结果:

代码语言:javascript
复制
std::string signature = char_array[index+1] + '/' + char_array[index+2] + std::string();
票数 30
EN

Stack Overflow用户

发布于 2013-12-08 03:48:12

在C++11中,您实际上可以:

代码语言:javascript
复制
std::string signature{chars[index+1], '/', chars[index+2]};

不确定这在实际代码中有多有用,但它处理的是您的示例。

票数 15
EN

Stack Overflow用户

发布于 2013-12-08 04:09:36

除了Steve和Benjamin的解决方案之外,您还可以使用std::stringstream

代码语言:javascript
复制
std::stringstream ss;
ss << char_array[index + 1] << '/' << char_array[index + 2];
std::string s = ss.str();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20449590

复制
相关文章

相似问题

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