我想以重載重載ostream&operator <<:如何強制輸出零?
ostream& operator<<(ostream& out, const myType& y)
於由unsigned short
一個向量中所表示的myType輸出大的無符號整數。所以,如果有問題的向量有,說,1f, a356, 13d5
我想獲得輸出1fa35613d5
的元素 - 現在我只需要這個爲hex
或oct
輸出。 特別是,1, 0, 0
應輸出到100000000
。我想通過連續輸出矢量的元素來實現這一點。我做什麼用這種方法得到的,但是,是100
,儘管事實上,我設置
out.width(4);
out.fill('0');
out << std::internal;
out << std::noskipws;
當然,我可以先寫ushort
爲一個字符串,然後輸出,但我寧願只使用格式化指令out
因爲這使得更容易尊重或oct
設置out
。我在這裏錯過了哪些格式化選項?
構建你自己的字符串將比使用十六進制或八進制格式爲'ostream'更有效率(更快,使用更少的內存),我會去檢查當前基地然後做我自己的格式。 – 2012-02-12 17:34:33