【发布时间】:2014-12-06 06:41:51
【问题描述】:
我有一个函数可以打印出 int 输入的二进制数。
当我有一个字符串形式的十六进制时,我使用以下方法调用该函数:
int num = 0;
stringstream << "0xabcd123";
stringstream >> num; //num becomes the decimal representation of the above hex.
outputBinary(num);
完美运行。
然而,
int num = 0;
stringstream << "0xabcd1234"; //fully filled hex value.
stringstream >> num; //num remains at 0.
outputBinary(num);
从十六进制字符串转换为“num”时,会不会是一个完全填充的十六进制值导致字符串流溢出?
【问题讨论】:
-
你的两个sn-ps代码是相同的(你可能需要显示
outputBinary,两个) -
试过
unsigned num; stringstream >> num;?
标签: c++ binary hex stringstream