c++格式化输出
1.在输入输出流中使用控制符
控制符 作用 dec 设置数值的基数为10 hex 设置数值的基数为16 Oct 设置数值的基数为8 setfill(c) 设置填充字符c,c可为字符常量或字符变量 setprecision(n) 设置浮点数的精度为n位,在一一般十进制小数形式输出时,n代表有效数字,在以固定小数位数形式和指数形式输出时,n为小数位数 setw(n) 设置字段宽度为n位 setiosflags(ios::fixed) 设置浮点数以固定的小数位显示 setiosftags(ios::scientific) 设置浮点数以科学计数法形式输出 setiosflags(ios::left) 输出数据左对齐 setiosflags(ios::right) 输出数据右对齐 setiosflags(ios::skipws) 忽略前导的空格 setiosflags(ios::uppercase) 数据以十六进制输出时字母大写表示 setiosflags(ios::lowercase) 数据以十六进制形式输出时字母以小写字母表示 setiosflags(ios::showpos) 输出正数时给出+号
#include<iostream>
#include<iomanip>
using namespace std ;
int main() {
int a = 10 ;
cout << dec << a << endl;
cout << hex << a << endl;
cout << setiosflags(ios::uppercase) << hex << a << endl;
cout << oct << a << endl;
return 0 ;
}
#include<string>
#include<iomanip>
#include<iostream>
using namespace std ;
int main() {
string str = "help" ;
cout <<setfill('*' )<<setw(10 )<< setiosflags(ios::left) << str << endl;
return 0 ;
}
~~~C++
#include<iomanip>
#include<iostream>
using namespace std ;
int main() {
int num = 10 ;
cout << setiosflags(ios::showpos)<<num<<endl;
return 0 ;
}
#include<iomanip>
#include<iostream>
using namespace std ;
int main() {
double a = 123.4567 ;
cout <<setiosflags(ios::fixed)<< setprecision(3 ) << a << endl;
return 0 ;
#include<iomanip>
#include<iostream>
using namespace std ;
int main() {
double a = 123.4567 ;
cout <<setiosflags(ios::scientific)<< setprecision(3 ) << a << endl;
return 0 ;
}
#include<iomanip>
#include<iostream>
#include<bitset>
using namespace std ;
int main() {
double a = 123.4567 ;
cout << oct << a << endl;
cout << setiosflags(ios::oct) << a << endl;
cout <<setiosflags(ios::hexfloat)<< a << endl;
cout << setiosflags(ios::hex) << a << endl;
cout << hex << a << endl;
return 0 ;
}
#include<iostream>
#include<iomanip>
#include<string>
using namespace std ;
int main(int argc, int *argv[]) {
cout << setiosflags(ios::left) << setw(15 ) << "type:" << setw(2 ) << "bit:" << endl;
cout <<setiosflags(ios::left)<< setw(15 )<<"short" <<setw(2 ) << sizeof (short ) << endl;
cout <<setiosflags(ios::left) << setw(15 )<<"int" <<setw(2 ) << sizeof (int ) << endl;
cout << setiosflags(ios::left) << setw(15 )<<"long" <<setw(2 ) << sizeof (long ) << endl;
cout << setiosflags(ios::left) << setw(15 )<<"long long" <<setw(2 ) << sizeof (long long ) << endl;
cout << setiosflags(ios::left) << setw(15 ) << "short" << setw(2 ) << sizeof (short ) << endl;
cout << setiosflags(ios::left) << setw(15 ) << "long" << setw(2 ) << sizeof (long ) << endl;
cout << setiosflags(ios::left) << setw(15 ) << "string" << setw(2 ) << sizeof (string ) << endl;
cout << setiosflags(ios::left) << setw(15 ) << "char" << setw(2 ) << sizeof (char ) << endl;
cout << setiosflags(ios::left) << setw(15 ) << "signed char" << setw(2 ) << sizeof (signed char ) << endl;
cout << setiosflags(ios::left) << setw(15 ) << "unsigned char" << setw(2 ) << sizeof (unsigned char ) << endl;
}