整数输出格式。什么是printf的类似物(%。3x)?

时间:2012-11-23 06:49:23

标签: c++ formatting iostream

我为谷歌搜索了这个东西,但还没有找到答案。 我想在简单C中找到输出格式的模拟。更具体地说,类似于printf(%.3x)的东西 可能,它可以使用操纵器来完成。但是,代码

cout << showbase << setfill('0') << setw(5) << hex << 19 << endl;

给了我00x13而不是期望的0x013

P.S。对不起,我没有Boost库,所以这不是解决方案..

3 个答案:

答案 0 :(得分:4)

利用internal

cout << showbase << setw(5) << setfill('0') << internal << hex << 19 << endl;

答案 1 :(得分:1)

cout << "0x" << setfill('0') << setw(3) << hex << 19 << endl;

请注意,setfillhex也会改变后续输出的流状态,取消setw只会影响下一个输出。

答案 2 :(得分:-1)

char buffer[40];
snprintf(buffer, 40, "%.3x", 19);
std::cout << buffer;