This question already has answers here:
Converting a string with a hexadecimal representation of a number to an actual numeric value
                                
                                    (6个答案)
                                
                        
                                5年前关闭。
            
                    
我正在从数据库中获取一些值,这些值是逗号分隔的十六进制值(0x0A,0x01,0X0B)。我获取它们时用逗号将它们分解,但是当尝试使用0X0A作为十六进制值时,将其视为字符串而不是十六进制数字,我想以十六进制形式进行转换。

最佳答案

您可以将istringstreamstd::hex一起使用,以将十六进制字符串转换为数值:

std::istringstream stream("0x0A");
int val = 0;
stream >> std::hex >> val;
std::cout >> val; // prints "10"

关于c++ - CPP读取0x0A作为字符串而不是十六进制,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23956948/

10-13 08:23