vector内部 字符串转换成16进制数
时间: 2024-10-17 21:06:38 浏览: 39
10进制转2到16进制的cpp文件
在C++中,将`std::vector<char>`(通常包含字符串字节)转换为十六进制表示,你可以遍历该向量,并逐个字符转换为对应的十六进制数值。这里是一个简单的示例,使用ASCII码和`std::stringstream`来完成这个任务:
```cpp
#include <vector>
#include <sstream>
#include <iomanip>
std::string vec_to_hex(const std::vector<char>& input_vec) {
std::stringstream ss;
for (const char c : input_vec) {
ss << std::hex << static_cast<int>(c);
}
return ss.str();
}
int main() {
std::vector<char> str_vec{'H', 'e', 'l', 'l', 'o'};
std::string hex_str = vec_to_hex(str_vec);
std::cout << "Hexadecimal representation of the string: " << hex_str << '\n';
return 0;
}
```
在这个例子中,`static_cast<int>(c)`用于将字符转换为其ASCII值,然后`std::hex`标志告诉`std::stringstream`我们正在处理的是十六进制。
阅读全文