int a;
std::cout<<"Enter hour: ";
std::cin>>a;
std::cout<< a;
这只是出于质疑目的。有没有使用函数输出01而不是1的技巧?假设输入是9我想要09作为输出,但是如果输入是&#39; a&#39;为2位数,无需添加0。
答案 0 :(得分:4)
我想你想要:
std::cout << std::setw(2) << std::setfill('0') << a;
这会将字段宽度设置为2,将填充字符设置为'0'
。但请注意,虽然输出a
后字段宽度会重置,但填充不会。因此,如果这是暂时的,请务必在设置之前保存填充。
答案 1 :(得分:0)
也许:
std::cout << ((a <= 9) ? 0 : "") << a;
答案 2 :(得分:0)
您可以使用精细的Boost.Format库来使用类似printf的语法格式化输出。
#include <boost/format.hpp>
#include <iostream>
int main()
{
std::cout << boost::format("%02d") % 1 << '\n';
}