3个回答
展开全部
rdbuf的作用是输出整个文件内容:
如:
//clib.cpp
#include<iostream>
#include<fstream>
using namespace std;
int main(){
ifstream in("clib.cpp");
cout<<in.rdbuf();
}
输出结果是:
//clib.cpp
#include<iostream>
#include<fstream>
using namespace std;
int main(){
ifstream in("clib.cpp");
cout<<in.rdbuf();
}
如:
//clib.cpp
#include<iostream>
#include<fstream>
using namespace std;
int main(){
ifstream in("clib.cpp");
cout<<in.rdbuf();
}
输出结果是:
//clib.cpp
#include<iostream>
#include<fstream>
using namespace std;
int main(){
ifstream in("clib.cpp");
cout<<in.rdbuf();
}
2013-03-28
展开全部
重定向cout默认是向屏幕输出的,但你可以利用rdbuf()重新指向到流设备(文本文件、串口等等)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给个例子吧,假如把cin重定向到in.txt,把cout重定向到out.txt
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ofstream out("out.txt");
ifstream in("in.txt");
cin.rdbuf(in.rdbuf());
cout.rdbuf(out.rdbuf());
string s;
cin>>s;
cout<<s<<endl;
return 0;
}
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
ofstream out("out.txt");
ifstream in("in.txt");
cin.rdbuf(in.rdbuf());
cout.rdbuf(out.rdbuf());
string s;
cin>>s;
cout<<s<<endl;
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询