我正在用C语言编写一个程序,基本上是为给定的文件名列表创建一个归档文件。这与Linux中的ar
命令非常相似。这就是归档文件的样子:
!<arch>
file1.txt/ 1350248044 45503 13036 100660 28 `
hello
this is sample file 1
file2.txt/ 1350512270 45503 13036 100660 72 `
hello
this is sample file 2
this file is a little larger than file1.txt
但我在尝试从存档中提取文件时遇到了困难。假设用户想要提取
file1.txt
,那么它应该获取文件名(在这种情况下是file1.txt)的索引/位置,跳过58个字符以达到文件内容,读取内容,并将其写入新文件。所以这里有我的问题:
1)如何在存档文件中获取文件名的索引/位置?请注意,不允许重复的文件名,因此我不必担心具有两个不同的索引。
2)在读取文件时如何跳过多个字符(在这种情况下为58)?
3)如何确定文件内容何时结束?即我需要读取内容并在file2.txt /
标题之前停止。