#include<iostream>
using namespace std;
int main()
{ int a;
cout<<"input a:";
cin>>a;
//cout.setf(ios::unitbuf); //每次输出之后刷新所有的流
//cout.setf(ios::stdio); //每次输出之后清除stdout,stderr
cout.setf(ios::showbase); //设置输出时的基数符号(八进制以0打头,十六进制以0x打头)
cout<<"dec:"<<a<<endl; //默认以十进制形式输出
cout.unsetf(ios::dec); //终止十进制输出的格式
cout.setf(ios::hex); //设置以十六进制输出状态
cout<<"hex:"<<a<<endl;
cout.unsetf(ios::hex); //终止以十六进制输出状态
cout.setf(ios::oct); //设置以八进制输出状态
cout<<"oct:"<<a<<endl;
cout.unsetf(ios::oct); //终止以八进制输出状态
int b;
cout<<"input b:";
cin>>b;
cout.setf(ios::uppercase); //以十六进制输出字母时以大写字母表示
cout.setf(ios::hex);
cout<<"b的十六进制:"<<b<<endl;
cout.unsetf(ios::uppercase); //终止以十六进制输出字母时以大写字母表示状态
char *pt="China";
cout.width(10); //指定域宽为10,并且只对其后的第一个输出有效
cout<<pt<<endl;
cout.width(10);
cout.fill('*'); //指定空白处以‘*‘填充
cout<<pt<<endl;
cout.width(10);
cout.fill('*');
cout.setf(ios::left); //输出数据在本文域宽范围内向左对齐
cout<<pt<<endl;
cout.unsetf(ios::left); //终止输出数据在本文域宽范围内向左对齐状态
cout.width(10);
cout.fill('*');
cout.setf(ios::right); // 输出数据在本文域宽范围内向右对齐
cout<<pt<<endl;
cout.unsetf(ios::right); //终止输出数据在本文域宽范围内向右对齐
cout.width(10);
cout.fill('*');
cout.setf(ios::internal); //数值的符号位在域宽内左对齐,数值右对齐,中间由填充字符填充 cout<<pt<<endl;
cout.unsetf(ios::internal); //终止数值的符号位在域宽内左对齐,数值右对齐,中间由填充字符填充
double pi=22.0/7.0;
cout.fill('*');
cout.setf(ios::scientific); //浮点数以科学记数法格式输出
cout<<"pi="<<pi<<endl;
cout<<"pi=";
cout.width(16);
cout.setf(ios::uppercase);
cout<<pi<<endl;
cout.unsetf(ios::scientific); //终止浮点数以科学记数法格式输出
cout.unsetf(ios::uppercase);
cout.width(12);
cout.setf(ios::showpos); //对正数显示‘+’号
cout<<"pi="<<pi<<endl;
cout<<"pi=";
cout.width(10);
cout.setf(ios::internal);
cout<<pi<<endl;
cout.precision(6); //设置实数的精确度为6
cout<<"pi="<<pi<<endl;
cout.setf(ios::fixed); //指定用定点形式输出
cout<<"pi="<<pi<<endl;
return 0;
}