十六进制字符串转换问题 ,着急!
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;
试试