Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在C++;_C++_Vector - Fatal编程技术网

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正是您想要做的事情,只需将此答案作为
的一部分保留。