ifstream 変数を取得する関数がありますが、場合によってはこのファイルに書き込む必要があります。例えば
main()
{
ifstream dataFile("filename.txt");
foo(dataFile);
}
void foo(ifstream &df)
{
if(df.good()) {...}
else {
//here I need to write str into the "filename.txt"
//but I don't know how to do it properly!
}
}
私が想像できるように、最も簡単な方法は、 foo() で df からファイルの名前を何らかの方法で取得することです...しかし、どのように?
想像してみてください: fstream は使えません。何らかの理由で ifstream& しかなく、ファイルの名前がわかりません。たとえば、閉じたライブラリ関数から ifstream& を取得します。