我有以下代码可以将打印输出始终设置为4位数字,并带有符号:

std::stringstream pitch;
pitch.precision(0);

pitch.width(4);
pitch.fill('0');

pitch << std::showpos << (int)(m_values["Pitch_1"]);

我还想显示符号(“+” /“-”),但我希望它在填充之前,如下所示:
+002

但是,我在这里的代码将“+”号移动到最高有效数字:
00+2

如果可能的话,如何更改格式,以便使用前者而不是后者?

最佳答案

使用std::internal操作器:

pitch << std::internal << std::showpos << 5;

08-16 08:46