gpt4 book ai didi

c++ - 在字符串C++中的字符之间添加空格

转载 作者:行者123 更新时间:2023-12-03 07:15:11 28 4
gpt4 key购买 nike

我正在寻找最有效的方法,在C++中的字符串中的每个字符之间添加空格" "
因此,假设我传递了一个字符串"123",并且想要获得"1 2 3 ""1 2 3"(这并不重要)。
有谁知道做这种事情的最快方法?
到目前为止,我的方法看起来像这样...

    string output;
for(int i = 0 ; i < s.length(); ++i) {
output += s.substr(i, 1) + " ";
}
return output;
...但是我只是想知道是否有更好的方法
谢谢

最佳答案

您可以使用range-v3库方便地编写此代码。因此给出:

namespace rs = ranges;
namespace rv = ranges::views;

std::string input = "123";
如果只想打印带有零星空格的字符串,则可以执行以下操作:
rs::copy(input | rv::intersperse(' '), 
rs::ostream_iterator<char>(std::cout));
如果要将结果存储在新字符串中,则可以执行以下操作:
auto result = input | rv::intersperse(' ') | rs::to<std::string>;
这是 demo
我认为这是合理可行的,但更重要的是,它可读性强。

关于c++ - 在字符串C++中的字符之间添加空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64770045/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com