C++ 16进制数转字符串
时间: 2023-07-11 22:40:49 浏览: 413
C++实现数字转换为十六进制字符串的方法
在C++中,可以使用`stringstream`和`iomanip`库来将16进制数转换为字符串。示例代码如下:
```c++
#include <iostream>
#include <sstream>
#include <iomanip>
int main() {
int hex_num = 0x68656c6c6f20776f726c64;
std::stringstream ss;
ss << std::hex << hex_num;
std::string str = ss.str();
std::cout << str << std::endl;
return 0;
}
```
输出结果为:
```
68656c6c6f20776f726c64
```
如果需要将16进制数转换为字节串,可以使用以下代码:
```c++
#include <iostream>
#include <sstream>
#include <iomanip>
#include <string>
int main() {
std::string hex_str = "68656c6c6f20776f726c64";
std::string byte_str;
for (size_t i = 0; i < hex_str.size(); i += 2) {
std::string byte_hex = hex_str.substr(i, 2);
byte_str += static_cast<char>(std::stoul(byte_hex, nullptr, 16));
}
std::cout << byte_str << std::endl;
return 0;
}
```
输出结果为:
```
hello world
```
阅读全文