#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
ますか?
更新:
クラスまたはグローバルを使用するソリューションを使用できないため、new を使用するソリューションを教えてください。また、main から 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;
}