如何将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));