1 流的控制&&流的继承
1.1 流控制
类名 | 在哪个头文件中声明 |
---|---|
ios | iostream |
istream,ostream,iostream | iostream |
ifstream,ofstream,fstram | fstream |
istrstream,ostrstream,strstream | strstream |
格式化I/O | iomanip |
1.2 类继承
流对象
cin: 标准输入流
cout:标准输出流
cerr: 标准错误流。可显示错误信息,关联到输出设备,这个流没有被缓冲,意味着信息可直接发送到屏幕。
clog:标准错误流,关联到标准 输出设备,这个流被缓冲。
2.重定向
重定向:把 原来的 cin 从键盘输入 改为从文件输入。把 原来的 cout 向屏幕输出 改为输出到文件。例如: cin>>line; 原来要从键盘拍入。现在自动到某文件读取,语句还是 cin>>line; 不变。cout << line << endl; 原来向屏幕输出,现在自动写到某文件里,语句还是cout << line << endl;不变
C++ 实现方法:
#include <iostream>
#include <ostream>
#include <fstream>
using namespace std;
main()
{
ifstream fin("input.txt"); // 已有输入文件
ofstream fout("output.txt"); //输出文件
streambuf *cinbackup;
streambuf *coutbackup;
coutbackup = cout.rdbuf(fout.rdbuf()); //用 rdbuf() 重新定向
cinbackup = cin.rdbuf(fin.rdbuf()); //用 rdbuf() 重新定向
cout << "Hello world" << endl; //去文件也
char line[100];
cin >> line; //从input.txt文件读入
cout << line << endl; //写入 output.txt
// restore standard streambuf
cin.rdbuf(cinbackup); // 取消,