std::vector<unsigned char>如何转std::string和相互转换
时间: 2023-11-17 20:05:15 浏览: 426
std::vector<unsigned char>可以通过以下两种方法转换为std::string和相互转换:
1. 将std::vector<unsigned char>转换为std::string:
- 首先,使用std::stringstream来创建一个临时的字符串流。
- 然后,使用std::copy将vector中的元素复制到字符串流中。
- 最后,使用std::stringstream的str()函数将字符串流转换为std::string类型。
示例代码如下:
```
std::vector<unsigned char> vecChar;
// 填充vecChar
std::stringstream ss;
std::copy(vecChar.begin(), vecChar.end(), std::ostream_iterator<unsigned char>(ss));
std::string strChar = ss.str();
```
2. 将std::string转换为std::vector<unsigned char>:
- 首先,使用std::string的begin()和end()函数获取字符串的起始和结束迭代器。
- 然后,使用std::vector<unsigned char>的构造函数将迭代器范围内的元素复制到新的vector中。
示例代码如下:
```
std::string strChar = "example";
std::vector<unsigned char> vecChar(strChar.begin(), strChar.end());
```
阅读全文