- 流:若干字节数据从一端到另一端我们叫做流
流类体系
- 流对象
- 流运算符 >> <<
输入输出流
- ostream类
cout
cerr
clog
ciin
字符类的处理
正常的操作
调用成员函数的方式
格式控制字符
-
包含头文件iomanip
-
常用的格式控制,一种是调用成员函数方式,一种是流控制字符去做
设置有效位数:setpreecision(n)
设置精度:fixed结合setprecision使用
istream 类 cin
#include <iostream>
#include <cstdio>
#include<iomanip>
using namespace std;
void testostream()//output
{
cout << "标准输出" << endl;//重定向
cerr << "标准错误输出" << endl;//不能重定向
clog << "标准错误输出" << endl;//重定向为文件
//字符类的处理
cout.put('a');
cout << 'a' << endl;
char c = 'C';
cout.put(c);
cout << c << endl;
cout.write("Iloveyou", 4);//指定长度,超过长度不做输出
//输入
cout.put(cin.get());
//字符串
while (cin.get() != '\n');
char str[20] = "";
cin.getline(str, 20);
cout.write(str, 20);
}
void testiomanip()
{
//格式控制
//设置格式
double pi = 34.12343;
cout << "设置有效位数是:" << setprecision(4) <<pi<< endl;
cout <<"有效小数位:"<< fixed << setprecision(4) << pi << endl;
//cout.precision(4);所有的流控制符都会对应一个成员函数的 方式
//进制输出
cout << hex << 32 << endl;//十六进制
cout << oct << 15 << endl;//8进制
cout << setbase(16) << 15 << endl;//8-16-
//默认右对齐
//cout.sync_with(8);
cout << setiosflags(ios::left);//ios::right
cout << setw(8) << "123" << setw(8) << "1234" << setw(8) << "3444" << endl;
cout << setw(8) << "123" << setw(8) << "1234" << setw(8) << "3444" << endl;
}
int main()
{
//testostream();
//freopen("1.txt","r",stdin);
//int a, b;
//scanf("%d%d", &a, &b);//输入由文件完成
1 2 回车
//freopen("2.txt", "w", stdout);
//printf("%d",a+b);
testiomanip();
return 0;
}