标志std::ios::showpos
打印出数值的正号。我想要实现的是保留空间而不是正号。这件事有没有旗帜?我可以为这个问题编写一个简单的if语句,但是,我正在寻求更优雅的方式。欢迎Boost图书馆。
#include <iostream>
#include <iomanip>
int main()
{
std::cout.setf(std::ios::showpos);
std::cout << 42 << "\n" << -42 << std::endl;
return 0;
}
答案 0 :(得分:-1)
您可以将std::noshowpos
与std::setw
一起使用。
std::cout << std::noshowpos<<std::setw(3)<< 42 << "\n" << -42 << std::endl;