将字符串转换为十六进制格式并将"0x "附加到十六进制值
Convert string into hex format and append "0x " to hex value
>我需要将字符串转换为十六进制格式并将"0x"前缀附加到十六进制值。例如:
输入:std::string s = "0x06A4";
输出:int num = 0x06A4
我试过这段代码:
{
std::stringstream ss;
std::string s = "0x06A4";
int num = std::stoi(s, 0, 16);
std::cout << "value in decimal = " << num << 'n';
std::cout << "value in hexadecimal = " << std::hex << num << 'n';
ss << "0x" << std::hex << num << 'n'; //
std::string res = ss.str();
std::cout << "result " << res << 'n';
}
@yogita,std::hex 只是您需要的配置之一。您可能缺少设置填充和设置配置,如下所示:
#include <iostream>
#include <sstream>
#include <iomanip>
int main()
{
std::stringstream ss;
std::string s = "0x06A4";
int num = std::stoi(s, nullptr, 16);
std::cout << "value in decimal = " << num << 'n';
std::cout << "value in hexadecimal = " << std::hex << num << 'n';
ss << "0x" << std::hex << std::setfill('0') << std::setw(4) <<num << 'n';
std::string res = ss.str();
std::cout << "result " << res << 'n';
return 0;
}
相关文章:
- 如何在openssl-ecc中获取十六进制格式的私钥
- 如何将包含epoch时间的十六进制字符串转换为time_t
- 将字符指针十六进制转换为字符串并保存在文本文件C++中
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 通过错误处理,在C++中可靠地获得用户十六进制输入
- 为什么mpfr_printf与十六进制浮点(%a转换说明符)的printf不同
- 在 std::无符号字符的向量处存储 int 的十六进制表示形式
- 指向存储在字符串 c++ 中的十六进制
- 读取文件中所有可能的十六进制 16 字节序列并打印每个序列
- C ++如何使用UTF8十六进制代码打印UTF8符号?
- 如何将字节数组元素替换为修改的十六进制 ASCII 符号?
- 如何在C++中将十六进制字符串转换为文本数据
- 使用 sprintf 将十六进制0xAABBCC转换为字符串"AA:BB:CC"
- 绝对编码器十六进制输入
- 定义宏以将前缀 0x 添加到十六进制字符串文本
- 如何使系统在十六进制数之前打印 0x,在八进制数之前打印 0?
- 将字符串转换为十六进制格式并将"0x "附加到十六进制值
- 十六进制值的前缀为0x
- 从流中读取十六进制文本格式0x