こんにちは。
コマンドライン引数で指定されたファイルを使用して .tar アーカイブを生成する C プログラムを作成する必要があるプロジェクトがあります。このプログラムは、Linux の組み込み tar 関数と同様にシミュレートおよび動作するはずです。このプログラムは、デフォルトの tar 関数とほぼ同じ方法でコマンド ラインから実行する必要があります。
args の 3 つのファイルから tar を作成するコマンド: ./tar c archive.tar file1 file2 file3
また、tar アーカイブを解凍し、含まれているファイルを、それらの権限、アクセス時間、および変更時間とともに復元できる必要があります。
.tar ファイルを解凍するコマンド: ./tar x archive.tar
スクリプト内から tar() を呼び出すために system() 関数を使用できません。代わりに、組み込みの Linux システム コールを使用する必要があります。
また、アーカイブに含める各ファイルとディレクトリについて、パーミッション、変更時間、およびアクセス時間を保持する必要があります。これは、各ファイルに対して stat() を呼び出してから struct stat メンバーをチェックすることで実行できると想定しています。
これを行うにはどうすればよいですか?
今回の企画で大苦戦…