<分区>
我是 C++ 的新手,我有一个简单而愚蠢的问题,我希望有人能帮助我! 我有一个字节,例如:
uint8_t MyByte = 0x0C;
并且我想将其转换为对应于十六进制 MyByte 值的字符串,在本例中为 "0C"。 如果我尝试:
std::string MyString = std::to_string(MyByte);
我将获得:MyString = "12";我想获取 MyString = "0C" ,这是相应的十六进制值。 可能吗?
谢谢!
编辑: 我知道所提供的链接上也有类似的问题,但这对我来说是不对的。事实上,如果我尝试:
std::stringstream stream;
stream << std::hex << MyByte;
std::string MyString( stream.str() );
MyString 没有按预期显示我。
我刚刚尝试了这个解决方案,它似乎有效:
std::stringstream stream;
stream << std::hex << (int)MyByte; // cast needed
std::string MyString( stream.str() );
std::transform(strBcc.begin(), strBcc.end(),strBcc.begin(), ::toupper);