C++怎么将字符串从16进制中提取出来
时间: 2023-10-08 12:06:26 浏览: 74
可以使用C++的字符串流(stringstream)来实现。具体步骤如下:
1. 将16进制字符串转换为字符数组。
2. 使用stringstream将字符数组转换为整数类型。
3. 将整数类型转换为字符串类型。
以下是一个示例代码:
```c++
#include <iostream>
#include <sstream>
#include <cstring>
int main() {
std::string hexStr = "48656C6C6F20576F726C64";
int len = hexStr.length();
char charArray[len/2];
for(int i=0; i<len; i+=2) {
std::string byte = hexStr.substr(i, 2);
charArray[i/2] = (char) strtol(byte.c_str(), NULL, 16);
}
std::stringstream ss;
std::string output;
for(int i=0; i<len/2; i++) {
ss << charArray[i];
}
ss >> output;
std::cout << output << std::endl;
return 0;
}
```
这个示例代码将16进制字符串"48656C6C6F20576F726C64"转换为ASCII字符串"Hello World"。
阅读全文