无法将矢量转换为字符串

时间:2017-02-24 23:53:01

标签: c++ string pointers vector

基本上我只需要用向量中的所有字母填充字符串。向量是char类型,但它不重要吗?当我调试它时,它说字符串的大小仍为0?这是一段代码。

注意:矢量大小为7(在输出中测试),因此问题似乎不在于矢量。

vector<char> final; //note this gets filled before reaching the loop
// fills vector in here, size is now 7

string* complete;
complete = new string[final.size()]; //set size of string to vector size
//debugger says size of complete is 0????
for (int i = 0; i < final.size(); i++) {
    complete[i] = final[i]; //should fill string
}

cout << "COMPLETE:" << *complete << endl; //one letter output

1 个答案:

答案 0 :(得分:2)

这是一个单行代码:

string complete(final.begin(), final.end());

或:

string complete(final.data(), final.size());