是否有任何(简单)的方法可以检测some_function()
是否正在写入ofs
?
#include <fstream>
some_function(std::ofstream & ofs);
int main()
{
std::ofstream ofs("/dev/null");
ofs << "lorem ipsum";
some_function(ofs); // Testing in here
return 0;
}
最佳答案
不,没有。
您正在寻找一种获取信息的方法这一事实向我表明some_function
具有分支代码,具体取决于您是否正在写入/dev/null
。
您可以通过向函数添加另一个参数来解决该问题,并让客户端代码为您提供该信息。
void some_function(std::ofstream& ofs, bool isDevNull);
并将其用作:
std::ofstream ofs ("/dev/null", std::ofstream::out);
ofs << "lorem ipsum";
some_function(ofs, true);
关于c++ - 如何检测ofstream是否正在写入/dev/null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50379465/