fopen
レガシーコードのためにバイナリファイルへの書き込みとライブラリの使用を使用していますがcstdio (stdio.h)
、WindowsおよびLinuxとクロスプラットフォームで互換性がある必要があります。
プロトタイプにはFILE * fopen ( const char * filename, const char * mode );
、を使用const char * mode = "ab"
しています。これは、バイナリファイルに追加されます。書き込み操作は、ファイルの最後にデータを追加します。ファイルが存在しない場合は作成されます。
N個の入力ファイルがあり、データを処理し、タイプごとに1つの出力ファイルに書き込みます。ここで、M個のタイプがあります。1つの入力ファイルを処理し、対応する各出力ファイルにデータを書き込みます。次に、そのi番目の入力ファイルを閉じて(i + 1)番目を開き、入力ファイルのデータを出力ファイルに追加してプロセスを繰り返します。
実行可能ファイルの先頭に出力ファイルが存在する場合は、削除してください。存在し、削除しない場合、"wb"
モードを使用すると、出力ファイルにデータが追加されるだけで、不要な重複が発生します。私はブーストソリューションを受け入れており、可能な限り標準を維持したいと思っています(つまり、可能であればPOSIXを避けます)