c++定义一个字符串str=00001234,把str转成十六进制
时间: 2024-02-23 15:58:56 浏览: 52
将字符串转会为十六进制
可以使用C++中的stringstream和iomanip库来将字符串转换为十六进制。
以下是一个示例代码:
```c++
#include <iostream>
#include <sstream>
#include <iomanip>
int main() {
std::string str = "00001234";
std::stringstream ss;
int num;
ss << std::hex << str; // 将字符串转换为十六进制
ss >> num; // 将十六进制数转换为整数
std::cout << std::hex << num << std::endl; // 输出十六进制数
return 0;
}
```
输出结果为:
```
1234
```
这里使用了`std::hex`指定了输出格式为十六进制。如果需要输出带有前缀的十六进制数,可以使用`std::showbase`。例如,输出`0x1234`,可以将输出语句改为:
```c++
std::cout << std::showbase << std::hex << num << std::endl;
```
阅读全文