c++ 字符串转十六进制
时间: 2023-09-03 12:17:08 浏览: 153
你可以使用`std::stringstream`和`std::hex`来将C++字符串转换为十六进制表示。下面是一个示例代码:
```cpp
#include <iostream>
#include <sstream>
#include <string>
std::string stringToHex(const std::string& input) {
std::stringstream ss;
ss << std::hex << std::uppercase;
for (const auto& ch : input) {
ss << static_cast<int>(ch);
}
return ss.str();
}
int main() {
std::string str = "Hello, World!";
std::string hex = stringToHex(str);
std::cout << "Original string: " << str << std::endl;
std::cout << "Hex representation: " << hex << std::endl;
return 0;
}
```
这个例子中,`stringToHex`函数将输入的字符串逐个字符转换为十六进制表示,并将结果存储在一个`std::stringstream`对象中。然后,通过调用`ss.str()`来获取转换后的十六进制字符串。
输出结果:
```
Original string: Hello, World!
Hex representation: 48656C6C6F2C20576F726C6421
```
阅读全文