#include <iostream>
#include <fstream>
using namespace std;
void foo(){
streambuf *psbuf;
ofstream filestr;
filestr.open ("test.txt");
psbuf = filestr.rdbuf();
cout.rdbuf(psbuf);
}
int main () {
foo();
cout << "This is written to the file";
return 0;
}
cout 是否写入给定文件?
如果没有,有没有办法在不将变量发送到 foo 的情况下做到这一点,比如new
?
更新:
我不能使用使用类或使用全局的解决方案,所以请给我一些使用新的解决方案。还将 from main 传递给 foo
streambuf *psbuf;
ofstream filestr;
应该工作吗?
我正在尝试这样做,但它不起作用?我将流传递给 foo 所以它存在于 main 中,所以当 foo 完成时它不会结束。
void foo(streambuf *psbuf){
ofstream filestr;
filestr.open ("test.txt");
psbuf = filestr.rdbuf();
cout.rdbuf(psbuf);
}
int main () {
streambuf *psbuf
foo(psbuf);
cout << "This is written to the file";
return 0;
}