首页 > 解决方案 > 连接两个文件指针

问题描述

我正在寻找一个FILE * join (FILE * a, FILE * b)等效于popen("cat a b", "r");. 也就是说,调用join应该产生一个新的文件指针,其中包含所有的 file a,然后是所有的 file b

最好join应该是惰性的,以便在所有文件都被消耗b之前不读取文件。a

标签: cfile

解决方案


您不能为此创建可移植函数。可以fopencookie使用 Linux/Glibc 或funopenBSD。请参阅:是否可以在自定义结构上使用作用于 FILE* 的函数? 不过,我不知道在 Windows 上有什么方法可以解决这个问题。

您只需要提供一种读取方法,该方法仅尝试从第一个文件句柄中读取给定数量的字节,该文件句柄到目前为止还没有文件结束条件。


推荐阅读