您的位置:首页 > 其它

rdbuf 在批量数据测试中的应用

2011-10-01 14:48 162 查看
1. 改变cin输入流

#include <iostream>
#include <fstream>

using namespace std;

int main( )
{

int a,b,c,d;

// 从main.txt中读取数据
ifstream infile("c://main.txt");

// 为恢复cin备份
streambuf *inrecover = cin.rdbuf();

// 指定cin输入源为流infile,即为main.txt
cin.rdbuf ( infile.rdbuf() );

// 程序自动接收数据a,b,c
cin >> a >> b;
cin >> c;
cout << a + b << endl;
cout << c << endl;

// 恢复cin输入源
cin.rdbuf ( inrecover );

// 等待从键盘输入数据
cin >> d;
cout << d;

getchar();
return 0;
}


2. 改变cout输出流

ofstream outf("out.txt");
streambuf *strm_buf = cout.rdbuf();
cout.rdbuf( outf.rdbuf() );
cout << "write something to file";
cout.rdbuf(strm_buf); //recover
cout << "display something on screen";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: