Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在库之间共享文件指针_C_File_Io_Fopen_Stdio - Fatal编程技术网

C 在库之间共享文件指针

C 在库之间共享文件指针,c,file,io,fopen,stdio,C,File,Io,Fopen,Stdio,我有一个简单的问题;我正在使用我的一个库中的文件*fp来fopen/fwrite写入文件,我想执行fclose()在另一个库中的fp上-另一个库获取文件句柄的最佳方式是什么?如果两个库相互通信,则第一个库应在函数调用中将文件*传递给第二个库 如果两个库之间没有通信,那么主应用程序应该从第一个库获取文件*,并将其交给第二个库。或者更好的方法是,应用程序应该拥有文件*,将其交给已经打开的第一个库,然后将其交给要完成的第二个库,最后应用程序应该关闭文件*本身。试图处理一个需要文件名而不是文件*的库,当

我有一个简单的问题;我正在使用我的一个库中的
文件*fp
fopen/fwrite
写入文件,我想执行
fclose()
在另一个库中的
fp
上-另一个库获取文件句柄的最佳方式是什么?

如果两个库相互通信,则第一个库应在函数调用中将
文件*
传递给第二个库


如果两个库之间没有通信,那么主应用程序应该从第一个库获取
文件*
,并将其交给第二个库。或者更好的方法是,应用程序应该拥有
文件*
,将其交给已经打开的第一个库,然后将其交给要完成的第二个库,最后应用程序应该关闭
文件*
本身。试图处理一个需要文件名而不是
文件*
的库,当您有一个类似文件但没有名称的库时,可能会非常令人沮丧。

如果您的两个库相互通信,那么第一个库应该在函数调用中将
文件*
传递给第二个库


如果两个库之间没有通信,那么主应用程序应该从第一个库获取
文件*
,并将其交给第二个库。或者更好的方法是,应用程序应该拥有
文件*
,将其交给已经打开的第一个库,然后将其交给要完成的第二个库,最后应用程序应该关闭
文件*
本身。试图处理一个需要文件名而不是
文件的库*
可能会非常令人沮丧,因为您有一个类似文件但没有名称的库。

通常,在同一上下文/任务中,在同一级别处理文件的打开和关闭被认为是最佳做法。与内存分配/释放相同。(但在你的情况下,你可能有特定的要求)这是一个奇怪的要求;奇怪的需求通常(并非总是)表示设计不正确或以错误的方式解决问题。两个库是否使用相同的运行时?通常认为,在相同的上下文/任务中处理同一级别文件的打开和关闭是最佳做法。与内存分配/释放相同。(但在你的情况下,你可能有特定的要求)这是一个奇怪的要求;奇怪的需求通常(被认为并不总是)表示设计不正确或以错误的方式解决问题。两个库是否使用相同的运行时?