@TOC
流就是若干字节组成字节序列,流操作就是从一个移动到另一个的过程。
流中的内容:二进制数据ASCII码
C++中用类实现所有流类操作
1.标准的输入输出流
2.字符流
3.文件流
对象 类型 作用
cin 标准输入 从键盘读取,可以重定向
cout 标准输出 输出到控制台,可以重定向
cerr 标准错误输出 输出到控制台,不可以重定向
clog 标准错误输出 输出到控制台,可重定向
重定向:可以改变函数,使得函数变成另外一个 功能。
includeusing namespace std;int main()
{cout << "标准的输入输出" << endl;cerr << "错误的输入输出" << endl;clog << "错误的输入输出" << endl;system("pause");return 0;
}
字符和字符串的输入和输出
cin成员函数
1.get()输入一个字符
2.getline()输入一个字符串cout成员函数
put():输出一个字符
write():输出一个字符串
#includeusing namespace std;int main()
{int number = cin.get();cout.put(number);char arr1[10];while (getchar() != '\n');{cin.getline(arr1, 10);}cout << arr1;system("pause");return 0;}
1.包含头文件:iomanip
2.有两种方法:通过对象形式,通过成员函数的形式
对象形式 实际意义
1.setbase(n) 设置多少进制输出整数(参数是8和16)2.setw(n) 设置输出数据宽度(默认对齐是右对齐,不足补空格)3.setiosflags(ios::left) 设置对齐方式左对齐(ios::left),右对齐(ios::right)4.setprecision(n) 单纯使用是控制有效位数,如果控制小数位数,结合fixed使用。
5.setfill(n) 填充字符
#include
#includeusing namespace std;int main()
{cout << setbase(16) << 32 << endl;cout << setbase(8) << 32 << endl;cout << setw(10) << "姓名" << setw(10) << "学号" << endl;cout << setiosflags(ios::left);cout << setw(10) << "姓名" << setw(10) << "学号" << endl;cout << setprecision(4) << 5.222229 << endl; // 保留4位有效数字cout << fixed << setprecision(2) << 5.2222229 << endl; //保留2位小数cout << setiosflags(ios::scientific) << 92.2222 << endl; //科学计数法system("pause");return 0;
}
当然也可以用做成员函数的方法去用
#includeusing namespace std;int main()
{cout.precision(4);cout << 6.22 << endl;cout.width(9);cout << "姓名";cout.width(9);cout << "学号";system("pause");return 0;
}