C++ 如何在C++;
这是我正在使用的一个示例程序C++ 如何在C++;,c++,vector,C++,Vector,这是我正在使用的一个示例程序 while(split.good()){ split >>first; split >>second; word=first + second; //cout<< static_cast<char> (word)<<endl; vec.push_back(static_cast<ch
while(split.good()){
split >>first;
split >>second;
word=first + second;
//cout<< static_cast<char> (word)<<endl;
vec.push_back(static_cast<char> (word));
}
while(split.good()){
首先拆分>>;
分裂>>秒;
单词=第一+第二;
//cout首先更改循环,检查.eof()
或.good()
是个坏主意,请参阅以了解更多信息。请改用:
while(split >> first && split >> second)
检查读取值是否有效
我误解了这个问题,所以下面的答案不是我想要的答案,请检查。
接下来,如果我理解正确,您想将整数转换为字符串吗?这有点不清楚,但请看一下std::to_string()
。也许您需要类似以下内容:
while(split >> first && split >> second) {
word = first + second;
vec.push_back(std::to_string(word));
}
首先,您应该注意while
循环
要将向量中的所有元素组合成一个单词,可以使用:
模板<类输入>
基本字符串(先输入,后输入,
常量分配器&alloc=Allocator())
传入向量的开始和结束迭代器:
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;
}
哦,很抱歉搞混了,“word”实际上是一个char值,它只是一个坏名字,我给它起的是一个char值,在它们被更改为char后,你从添加的整数值中得到的char值。所以当这个过程结束时,我得到的是一个char元素的向量。我想知道如何组合向量的char元素来生成一个单词。有点像vec={'h','e','l','l','o'};我想从向量向量向量中得到一个字符串“hello”。我希望这是有意义的,并感谢您的输入。@FreA猜想我误解了您想要做的事情。总之,@Tas answer正是您想要做的事情,只需将此答案作为的一部分保留。