我有一个
std::vector<std::vector<char>>,并希望用其内容填充std::vector<string>。
我只是无法思考如何访问字符的内部向量,并将字符放入字符串向量。
也许我错了,但我认为std::vector<char>就像字符串一样。所以,这应该不难做到,我只是被困在我的脑海里。
我见过这个: >?,但它并没有让我走多远。
谢谢你的帮助。
发布于 2014-04-04 09:12:14
天真的解决方案应该足够有效:
std::vector<std::string>
chars_to_string(std::vector<std::vector<char>> const & in)
{
std::vector<std::string> out;
out.reserve(in.size());
for (auto const & v : in)
out.emplace_back(v.begin(), v.end());
return out;
}发布于 2014-04-04 09:19:19
这是一个algorithm版本
std::vector<std::vector<char>> a;
std::vector<std::string> b;
std::transform(a.begin(), a.end(), std::back_inserter(b),
[](std::vector<char> const& v) -> std::string {
return {v.begin(), v.end()};
});发布于 2014-04-04 09:14:45
这应该能行
std::vector<string> vec;
for(std::vector<std::vector<char>>::iterator itr = source.begin();
itr != source.end(); ++itr) {
vec.push_back(std::string(itr.begin(),itr.end()));
);https://stackoverflow.com/questions/22858335
复制相似问题