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;

次の出力に影響を与えるだけでなく、後続の出力のストリームの状態も変更することsetfillに注意してください。hexsetw

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