@TOC
C++IO流
C++流
流就是若干字节组成字节序列,流操作就是从一个移动到另一个的过程。
流中的内容:二进制数据ASCII码
流类体系
C++中用类实现所有流类操作
1.标准的输入输出流
2.字符流
3.文件流
标准的输出输入流
对象 类型 作用
cin 标准输入 从键盘读取,可以重定向
cout 标准输出 输出到控制台,可以重定向
cerr 标准错误输出 输出到控制台,不可以重定向
clog 标准错误输出 输出到控制台,可重定向
重定向:可以改变函数,使得函数变成另外一个 功能。
include<iostream>
using namespace std;
int main()
{
cout << "标准的输入输出" << endl;
cerr << "错误的输入输出" << endl;
clog << "错误的输入输出" << endl;
system("pause");
return 0;
}
字符和字符串的输入和输出
cin成员函数
1.get()输入一个字符
2.getline()输入一个字符串cout成员函数
put():输出一个字符
write():输出一个字符串
#include<iostream>
using 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;
}
C++格式控制
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<iostream>
#include<iomanip>
using 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;
}
当然也可以用做成员函数的方法去用
#include<iostream>
using namespace std;
int main()
{
cout.precision(4);
cout << 6.22 << endl;
cout.width(9);
cout << "姓名";
cout.width(9);
cout << "学号";
system("pause");
return 0;
}