12

使用时,标题cout中定义的默认格式化程序是什么?<iomanip>换句话说,一旦我将格式化程序设置为fixedusing cout << fixed << setPrecision(2),我该如何改回来?或者,我要把它改回什么

4

4 回答 4

15

答案std::defaultfloat在 C++11 中。要在 C++03 中实现这一点,您可以这样做

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

看看真的,“固定”I/O 操纵器的反面是什么?

于 2013-09-27T03:12:39.200 回答
5

的反义词std::fixedstd::scientific

(您可以在这个很棒的答案中找到一个很好的操纵器列表。)

于 2011-09-14T19:56:54.100 回答
1

您可以使用resetiosflags()取消设置任何标志。

于 2011-09-14T19:55:56.447 回答
1

的反义词std::fixedstd::scientific。这可能对你有用。

但是,如果您想恢复更多标志,或者如果您需要以前的状态,您可以使用更好的解决方案来代替默认状态:

  1. std::resetiosflags操纵器允许您将特定标志重置为默认值;

  2. 这两个ios::flags函数让您可以保存和恢复格式标志的先前值。

于 2011-09-14T20:00:15.697 回答