Что противоположно 'исправленному' в cout? - PullRequest
6 голосов
/ 14 сентября 2011

При использовании cout, какой форматтер по умолчанию определен в заголовке <iomanip>? Другими словами, как только я установил свой форматер на fixed, используя cout << fixed << setPrecision(2), как мне изменить его обратно? Или что я меняю обратно на ?

Ответы [ 4 ]

6 голосов
/ 27 сентября 2013

Ответ std::defaultfloat в C ++ 11.Для достижения этого в C ++ 03 вы можете выполнить

cout.unsetf(std::ios_base::floatfield);

См. Действительно, что является противоположностью «фиксированного» манипулятора ввода / вывода?

3 голосов
/ 14 сентября 2011

Противоположностью std::fixed является std::scientific.

(Вы найдете хороший список манипуляторов в этот замечательный ответ .)

1 голос
/ 15 сентября 2011

Противоположностью std::fixed является std::scientific. Это может сделать для вас.

Однако, если вы хотите восстановить больше флагов или если вам нужно предыдущее состояние, вместо значения по умолчанию вы можете использовать более подходящие решения:

  1. манипулятор std::resetiosflags позволяет вам сбросить определенные флаги к их значениям по умолчанию;

  2. две функции ios::flags позволяют сохранять и восстанавливать предыдущие значения флагов формата.

1 голос
/ 14 сентября 2011

Вы можете использовать resetiosflags() для сброса любых флагов.

...