如何在C++中组合向量的元素
How to combine elements of a vector in C++
这是我正在使用的一个示例程序。
while(split.good()){
split >>first;
split >>second;
word=first + second;
//cout<< static_cast<char> (word)<<endl;
vec.push_back(static_cast<char> (word));
}
第一个和第二个是int值。所以我想把向量的元素组合成一个完整的单词。
谢谢,
首先,您应该注意@AliciaBytes关于while
循环的建议。
要将vector
中的所有元素组合为一个单词,可以使用以下std::string
构造函数,该构造函数使用两个迭代器:
模板<class InputIt>basic_string(先输入、后输入,const分配器&alloc=Allocator());
传入vector
:的开始和结束iterator
const std::string s{std::begin(vec), std::end(vec)};
这将把vec
的每个元素添加到std::string
中。或者,您可以使用for
循环:
std::string s;
for (auto c : vec)
{
// Add each character to the string
s += c;
}
首先更改循环,检查.eof()
或.good()
是个坏主意,请参阅循环条件中的iostream::eof为什么被认为是错误的?了解更多信息。改为使用:
while(split >> first && split >> second)
检查读取值是否真的有效。
我误解了这个问题,所以下面的答案并不是真正想要的,请查看@Tas的答案
接下来,如果我理解正确,你想把整数转换成字符串吗?这有点不清楚,但看看std::to_string()
。也许你想要这样的东西:
while(split >> first && split >> second) {
word = first + second;
vec.push_back(std::to_string(word));
}
相关文章:
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 在 C++ 中输出枚举类类型的向量元素
- 用向量的向量元素初始化向量的空向量
- 为什么不允许使用可变长度数组作为向量元素?
- 在函数中传递向量元素
- 使用 Rcpp 加速替换迭代算法中的列表和向量元素是否合法?
- 返回向量元素的 l 值的正确方法是什么?
- 当向量增长时,指向向量元素的C++指针是否无效
- 如何在C++中从一个向量元素减去std::unorderede_map向量元素并更新它
- C++:向量元素赋值导致访问冲突
- 将向量元素与字符串元素进行比较,而不初始化向量
- 从2D矢量中找出最小尺寸的向量元素的更好方法
- 当我尝试将一个向量元素的值分配给另一个向量元素时,为什么我的应用程序会崩溃
- 使用递归C++向量元素的总和
- 如何查找为数组中的最低值编制索引的向量元素
- 限制指针访问STL ::向量元素
- 访问索引指向向量元素时的seg故障 - 做错了什么
- 如何使用指针访问向量元素的各个元素
- 向量元素数据损坏了Find()操作
- 将字符值分配给向量元素.C