十六进制字符串转换有关问题 ,着急

十六进制字符串转换问题 ,着急!char v 7string strHex 0x + v //0x7 hereunsigned int nthValue

十六进制字符串转换问题 ,着急!
char v = '7';
string strHex = "0x" + v; //0x7 here

     unsigned int nthValue = 0;
     sscanf(strHex.c_str(),"%x",&nthValue);

nthValue转换后的值为何是十进制的250???疑惑啊。。。。。



long nthValue = strtol(strHex.c_str(), NULL, 16); 用这个来转貌似也为250.。。。。
[解决办法]
string strHex = "0x" + v;这句的问题
你改成:
string strHex = "0x7"

string strHex = "0x";
strHex+=v;
试试