0

问候 Stackoverflow,

我有一个项目,我需要编写一个 C 程序,该程序使用命令行参数中指定的文件生成 .tar 存档。该程序应该像Linux内置的tar函数一样模拟和工作。该程序应该从命令行运行,其方式与默认的 tar 函数大致相同。

从 args 中的三个文件创建 tar 的命令: ./tar c archive.tar file1 file2 file3

它还必须能够解压缩 tar 存档并恢复包含的文件,以及它们的权限、访问时间和修改时间。

解压 .tar 文件的命令:./tar x archive.tar

我无法使用 system() 函数从脚本内部调用 tar()。而是必须使用内置的 Linux 系统调用。

此外,对于要包含在存档中的每个文件和目录,必须保留权限、修改时间和访问时间。我假设这可以通过为每个文件调用 stat() 然后检查 struct stat 成员来完成。

我该怎么做呢?

这个项目有很多麻烦...

4

0 回答 0