PostScript ファイルを変更するユーティリティを作成することに興味があります。ファイルをトラバースし、ページ数とサイズについて特定の決定を下し、出力をファイルまたは stdout に書き込み、PostScript コードに特定の変更を加える必要があります。
この場合、*NIX システムでファイル処理を処理するにはどうすればよいでしょうか? 私は C でのパイプとフォークにかなり慣れていません。ファイルを直接読み取る場合、おそらく入力ファイルを前後にシークできると理解していますが、入力がプログラムに直接パイプされている場合、私はたとえば、入力がネットワークストリームである可能性があるため、入力の先頭に単純に巻き戻すことはできませんか?
PS ファイル全体をメモリに保存するのではなく、ページ分析の最初のパスを実行している間に入力をディスクにバッファリングし、一時ファイルから再度読み取り、出力を生成する方が理にかなっているように思われます。一時ファイルを削除します。それが実行可能な解決策である場合、そのようなファイルを *NIX システムに保存するのに適した場所はどこでしょうか? このようなコードがどれほど安全かはわかりません。同じサーバー上の複数のユーザーがプログラムを使用する可能性があります。特定のユーザーアカウントに固有の一時ディレクトリのどこかにファイルを保存し、ディスク上の一時ファイルにかなり一意の名前を付ける必要があるようです。
このクレイジーで不可解なファイル処理の世界に関するヒントや指針をいただければ幸いです。