void IOform(){
cout << boolalpha << true << ' ' << false << endl << endl;
cout << "Oct:" << oct << 20 << ' ' << 1024 << endl;
cout << "Dec:" << dec << 20 << ' ' << 1024 << endl;
cout << "Hex:" << hex << 20 << ' ' << 1024 << endl << endl;
//输出前导字符串
cout << showbase;
cout << "Oct:" << oct << 255 << ' ' << 1024 << endl;
cout << "Dec:" << dec << 255 << ' ' << 1024 << endl;
cout << "Hex:" << hex << 255 << ' ' << 1024 << endl;
cout << noshowbase << endl;
//大写方式
cout << uppercase;
cout << showbase;
cout << "Oct:" << oct << 255 << ' ' << 1024 << endl;
cout << "Dec:" << dec << 255 << ' ' << 1024 << endl;
cout << "Hex:" << hex << 255 << ' ' << 1024 << endl;
cout << noshowbase;
cout << nouppercase;
cout << dec << endl;
//浮点数
//精度
cout << "Percision:" << cout.precision() << endl;
cout << sqrt(2.0) << endl << endl;
//设置精度
cout.precision(12);
cout << "Percision:" << cout.precision() << endl;
cout << sqrt(2.0) << endl << endl;
cout << setprecision(24);// 需要头文件 #include <iomanip>
cout << "Percision:" << cout.precision() << endl;
cout << sqrt(2.0) << endl << endl;
//打印小数点,小数点后和精度有关
cout << 10.0 << endl;
cout << showpoint << 10.0 << endl;
cout << noshowpoint << endl;
//补白
cout << setw(10) << 1 << endl; //指定下一项的最小空间,默认右对齐
cout << 2 << endl << endl;
cout << left; //设置左对齐
cout << setw(10) << 3 << 4 << endl << endl;
cout << internal; //控制负号左对齐,值右对齐
cout << setw(10) << -16 << endl << endl;
cout << setfill('#'); //设置填充符
cout << setw(12) << setprecision(3) << 3.14 << endl << endl;
cout << setfill(' ');
}
Output:
true false
Oct:24 2000
Dec:20 1024
Hex:14 400
Oct:0377 02000
Dec:255 1024
Hex:0xff 0x400
Oct:0377 02000
Dec:255 1024
Hex:0XFF 0X400
Percision:6
1.41421
Percision:12
1.41421356237
Percision:24
1.41421356237309514547462
10
10.0000000000000000000000
1
2
3 4
- 16
########3.14
单字节读取
void IOunform(){
int i;
char ch;
cin.get(ch);
cout.put(ch);
i = cin.get(); // 将下一个字节作为int返回
cout << i;
i = cin.peek(); // 将下一个字节作为INT返回,但不从流中删除它
cout << i << ' ';
cout << cin.get();
int x;
cin >> i;
cin.unget(); //使得输入流向后移动,从而最后读取的值又回到流中。
cin >> x;
cout << i << x;
}
sstream 随机IO
void randIO(){
istringstream is("0123456789");
ostringstream os("0123456789");
cout << "返回输入流的当前位置:" << is.tellg() << endl;
cout << "返回输出流的当前位置:" << os.tellp() << endl;
string tmp;
is.seekg(6); //设置输入流位置
cout << "返回输入流的当前位置:" << is.tellg() << endl;
cout << "流中内容:" << is.str() << endl;
is >> tmp; // 从输入流中取值
cout << tmp << endl;
os.seekp(5, basic_ostringstream<ostringstream>::cur); //设置输出流位置 beg, cur, end
cout << "返回输出流的当前位置:" << os.tellp() << endl;
cout << "流中内容:" << os.str() << endl;
os << "###";
cout << "流中内容:" <<os.str() << endl;
}
Output:
返回输入流的当前位置:0
返回输出流的当前位置:0
返回输入流的当前位置:6
流中内容:0123456789
6789
返回输出流的当前位置:5
流中内容:0123456789
流中内容:01234###89
fstreamIO:
插眼