在库之间共享FILE指针

时间:2011-09-13 08:35:43

标签: c file io fopen stdio

我有一个简单的问题;我在我的一个库中使用FILE* fpfopen/fwrite到该文件,我想在另一个库中fclose()fp - 最好的方法是什么获取文件句柄的另一个库?

1 个答案:

答案 0 :(得分:6)

如果你的两个图书馆互相交谈,那么第一个图书馆应该在函数调用中将FILE*传递给第二个图书馆。

如果库之间没有相互通信,那么主应用程序应从第一个库中获取FILE*并将其交给第二个库。或者更好的是,应用程序应该拥有FILE*,将其交给已经打开的第一个库,然后将其交给第二个库完成,最后应用程序应该关闭FILE*本身。当你有一个像文件但没有名字的东西时,试图处理一个想要文件名而不是FILE*的库会非常令人沮丧。