如何将std :: string复制到std :: vector <char>中?

可能重复:
将std :: string转换为std :: vector <char>

我试过了:

std::string str = "hello"; std::vector<char> data; std::copy(str.c_str(), str.c_str()+str.length(), data); 

但它不工作=(所以我想知道如何将std::string复制到std::vector<char>std::vector<uchar>

std::vector有一个构造函数需要两个迭代器。 你可以使用这个:

 std::string str = "hello"; std::vector<char> data(str.begin(), str.end()); 

如果你已经有了一个vector并且想要在最后添加字符,你需要一个后端插件:

 std::string str = "hello"; std::vector<char> data = /* ... */; std::copy(str.begin(), str.end(), std::back_inserter(data)); 

你需要一个后面的插件来复制到vector中:

 std::copy(str.c_str(), str.c_str()+str.length(), back_inserter(data));