- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
代码如下:
std::wstringstream wss;
wss.setf(std::ios_base::hex, std::ios_base::basefield);
wss.setf(std::ios_base::showbase);
// wss << std::showbase;
// wss.width(2);
wss.fill('0');
wss << std::setw(2) << 7;
// wss << std::noshowbase;
wss.unsetf(std::ios_base::showbase);
wss << std::setw(2) << 0;
wss << std::setw(2) << 20;
wss << std::setw(2) << 6;
auto ret = wss.str();
如果我设置 showbase
对于流,我总是得到以下输出:
0x7001406
, 而不是 0x07001406
我怎样才能在 7 之前得到这个零?我不想设置前缀 0x
手动点赞wss << "0x"
.
提前致谢!
最佳答案
感谢@Aconcagua 提供线索!
我认为我们可以像这样使用 std::ios_base::adjustfield 和 std::ios_base::internal :
wss.setf(std::ios_base::hex, std::ios_base::basefield);
int oldFlag = wss.setf(std::ios_base::internal, std::ios_base::adjustfield);
然后
wss.setf(std::ios_base::showbase);
wss.fill('0');
wss << std::setw(4) << 7;
wss.unsetf(std::ios_base::showbase);
// wss.setf(oldFlag);
wss << std::setw(2) << 0;
wss << std::setw(2) << 20;
wss << std::setw(2) << 6;
然后我得到 0x07001406。如果我不能这样做,请纠正我,谢谢!
关于c++ - stringstream 的 showbase 和前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51357013/
我注意到我们打印指针的方式存在差异。默认情况下,gcc 会在指针的十六进制输出中添加 0x 前缀,而 Microsoft 的编译器不会这样做。 showbase/noshowbase 不会影响它们中的
代码如下: std::wstringstream wss; wss.setf(std::ios_base::hex, std::ios_base::basefield); wss.setf(st
无法在线找到帮助。有什么办法可以解决这个问题? std::showbase只为非零数字添加前缀(例如, 0x 在 std::hex 的情况下)(如解释 here )。我想要一个格式化为 0x0 的输出
PSPS:(预先编写的后记) 我刚刚想到,一个更有先见之明的问题会包括以下概念:对于零值整数,不显示“0x”(showbase) 是一种标准行为,还是只是我的 MinGW 实现的一个怪癖? 这一切都始
PSPS:(预先编写好的后置脚本) 刚刚想到一个更有先见之明的问题将包括以下概念:对于零值整数,这种不显示“0x”(showbase)是一种标准行为,还是只是我的 MinGW 实现的一个怪癖? 这一切
我有一个很大的整数类,我正试图让它尊重 std::showbase 和 std::noshowbase。在这里,“荣誉”意味着控制 Integer 类(而不是 C++ standard behavio
这个问题源于我关于使用通常的 ostream & operator int main() { std::cout << std::dec << std::showpos << std::show
我是一名优秀的程序员,十分优秀!