c++ 拼接字符串列表
【摘要】 把vector的元素,拼接成为一个字符串。比如元素类型为string的时候,用std::copy函数#include <iostream>#include <sstream>#include <vector>#include <algorithm>#include <iterator>void func1() { std::stringstream ss; std::vector...
把vector的元素,拼接成为一个字符串。
比如元素类型为string的时候,用std::copy
函数
#include <iostream>
#include <sstream>
#include <vector>
#include <algorithm>
#include <iterator>
void func1() {
std::stringstream ss;
std::vector<std::string> as{"a1", "b2", "c3"};
std::copy(as.begin(), as.end(), std::ostream_iterator<std::string>(ss, ","));
std::string str = std::move(ss.str());
std::cout << str << std::endl;
}
int main() {
func1();
return 0;
}
输出为:
a1,b2,c3,
如果稍微复杂一点,不是直接打印元素,而是打印元素的函数,用std::transform
.
代码:
void func2() {
std::stringstream ss;
std::vector<std::string> as{"a1", "b2", "c3"};
std::transform(as.begin(), as.end(), std::ostream_iterator<char>(ss, ","),
[](std::string &o) { return o.front(); });
std::string str = std::move(ss.str());
str.pop_back();
std::cout << str << std::endl;
}
输出:
a,b,c
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)