#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
?
обновление :
Я не могу использовать решение, которое использует класс или использует глобальный, так что плз может некоторые
Дайте мне решение, которое использует новое. Также передавая из основного в foo
streambuf *psbuf;
ofstream filestr;
должно работать правильно?
Я пытаюсь сделать это, но это не работает?
Я передаю поток в foo, чтобы он существовал в главном, чтобы он не заканчивался после завершения 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;
}