我有兴趣编写一个修改 PostScript 文件的实用程序。它需要遍历文件,对页数和尺寸做出某些决定,然后将输出写入文件或标准输出,对 PostScript 代码进行某些修改。
在这种情况下,在 *NIX 系统上处理文件处理的好方法是什么?我对 C 中的管道和分叉相当陌生,据我了解,如果直接读取文件,我可能会在输入文件周围来回寻找,但如果输入直接通过管道传输到程序中,我不能简单地倒退到输入的开头,因为输入可能是例如网络流,对吗?
与其将整个 PS 文件存储到可能会变得巨大的内存中,不如在进行第一次页面分析时将输入缓冲到磁盘更有意义,然后从临时文件中重新读取,产生输出,并删除临时文件。如果这是一个可行的解决方案,那么在 *NIX 系统上存储此类文件的好地方是哪里?我也不确定这样的代码有多安全:该程序可能被同一服务器上的多个用户使用。听起来我会确保将文件保存在给定用户帐户唯一的临时目录中的某个位置,并为磁盘上的临时文件提供一个相当唯一的名称。
非常感谢有关这个疯狂的令人费解的文件处理世界的任何提示和指示。