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

Integer output formatting. what is the analogue of printf(%.3x)?

本文关键字:3x 类似物 printf 输出 格式 什么 整数      更新时间:2023-10-16

我在谷歌上搜索了这个东西,但没有找到答案。我想找到纯 C 输出格式的模拟。更具体地说,类似于printf(%.3x)也许,它可以使用机械手来完成。但是,代码

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

给了我00x13而不是想要的0x013.

附言抱歉,我没有 Boost 库,所以这不是解决方案。

利用internal

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

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

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