2

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

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

给我00x13而不是期望0x013

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

4

3 回答 3

4

利用internal

cout << showbase << setw(5) << setfill('0') << internal << hex << 19 << endl;
于 2012-11-23T06:58:12.127 回答
1
cout << "0x" << setfill('0') << setw(3) << hex << 19 << endl;

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

于 2012-11-23T06:53:57.223 回答
-1
char buffer[40];
snprintf(buffer, 40, "%.3x", 19);
std::cout << buffer;
于 2012-11-23T06:56:08.997 回答