问候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成员来完成 .

我应该怎么做呢?

这个项目遇到很多麻烦......