gpt4 book ai didi

C++/boost : apply a prefix to a string list

转载 作者:行者123 更新时间:2023-11-28 01:56:50 25 4
gpt4 key购买 nike

我想给字符串列表添加一个简单的前缀:

Input: "a, b, c, d, e"
Output: ":a, :b, :c, :d, :e"

是否已经为此类操作实现了 boost 库?添加前缀或什至将 boost::format 操作应用于字符串序列?

我搜索了 boost::algorithm::string 库,但一无所获。当然,我可以简单地用 std::for_each 或任何其他方式解决它,但我想知道是否已经做了任何事情。

最佳答案

所以我假设你有一个容器,里面有字符串,每个字符串都应该有前缀:可能是这样的:

std::for_each(v.begin(), v.end(), [](auto& s){ s.insert(0, ":");});

或者如果 c++11 不是这样的选项:

string& (string::*FP)(size_t pos, const string& str) = &string::insert;
std::for_each(v.begin(), v.end(), std::bind(FP, std::placeholders::_1, 0, ":"));

这将为容器中的每个元素添加前缀 :

至少会在您的示例中产生输出的完整示例如下所示:

int main() {
std::vector<std::string> v;
v.push_back("a");
v.push_back("b");
v.push_back("c");
v.push_back("d");
v.push_back("e");
std::for_each(v.begin(), v.end(), [](auto& s){ s.insert(0, ":");});
for(const auto& s : v)
{
std::cout << s << ", ";
}
return 0;
}

关于C++/boost : apply a prefix to a string list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40890257/

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