我为谷歌搜索了这个东西,但还没有找到答案。
我想在简单C中找到输出格式的模拟。更具体地说,类似于printf(%.3x)
的东西
可能,它可以使用操纵器来完成。但是,代码
cout << showbase << setfill('0') << setw(5) << hex << 19 << endl;
给了我00x13
而不是期望的0x013
。
P.S。对不起,我没有Boost库,所以这不是解决方案..
答案 0 :(得分:4)
利用internal
:
cout << showbase << setw(5) << setfill('0') << internal << hex << 19 << endl;
答案 1 :(得分:1)
cout << "0x" << setfill('0') << setw(3) << hex << 19 << endl;
请注意,setfill
和hex
也会改变后续输出的流状态,取消setw
只会影响下一个输出。
答案 2 :(得分:-1)
char buffer[40];
snprintf(buffer, 40, "%.3x", 19);
std::cout << buffer;