文件重定向

文件重定向,就是:
把 原来的 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);  // 取消,恢复键盘输入
         cout.rdbuf(coutbackup);  //取消,恢复屏幕输出
         
         return 0;
} 


========
C 的方法:
freopen("input.txt","r",stdin);  
freopen("output.txt","w",stdout); 
printf(),scanf(),puts(),gets() 等都定向到文件了。
=======
命令行用 <  和 >
prog.exe  < input.txt > output.txt

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值