观察下面的程序,说明每条语句的作用,看看程序执行的结果。
#include <iostream> using namespace ::std; void main() { ios_base::fmtflags original_flags = cout.flags(); //1 cout<< 812<<'|'; cout.setf(ios_base::left,ios_base::adjustfield); //2 cout.width(10); //3 cout<< 813 << 815 << '\n'; cout.unsetf(ios_base::adjustfield); //4 cout.precision(2); cout.setf(ios_base::uppercase|ios_base::scientific); //5 cout << 831.0 ; cout.flags(original_flags); //6 }
解:
//1 保存现在的格式化参数设置,以便将来恢复这些设置;
//2 把对齐方式由缺省的右对齐改为左对齐;
//3 把输出域的宽度由缺省值 0 改为 10;
//4 清除对齐方式的设置;
//5 更改浮点数的显示设置;
//6 恢复原来的格式化参数设置。
程序运行输出:
812|813 815
8.31E+02