创建归档程序可执行文件,其中一部分是归档从命令行参数给出的文件

标签 c image file command-line archive

可以有尽可能多的文件,但必须至少有一个。 形式为“可执行文件名称”“标志”“存档名称”“文件......”。如何查明命令行中给出了多少个文件?我知道我必须使用循环。然后,一旦我发现有多少个文件,我如何打开每个文件并遍历每个文件,然后将其全部放入存档文件中?存档文件是二进制的,对吗?我必须记录给我多少个文件,然后记录每个文件的名称,每个文件的名称有多长,每个文件的大小,然后每个文件的内容,然后将其全部放入存档文件中。无压缩

最佳答案

char *filenames[argc-3];
for(i = 3; i < argc; i++)
{
    filenames[i-3] = argv[i];
    printf("Files = %s\n", filenames
}

因此该循环将找出有多少个 argc 参数,不包括“可执行文件”“标志”“存档名称”。然后,我将了解 argc 中有多少个文件。然后 filenames[] 会将文件存储在命令行参数中,对吗?那么我如何循环遍历该数组并打开每个文件并使用我调用的不同函数确定大小?

关于创建归档程序可执行文件,其中一部分是归档从命令行参数给出的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42495245/

相关文章:

c - GNU Make 无法从循环中进入子目录

c - 使用指针的字符串连接

c - setuid 不适用于非 root 用户

django 在数据库中存储图像

ios - imageWithContentsOfFile - 为什么不接受 ios 中的路径?

macos - 如何在 Mac OS X 上创建虚拟文件?

html - 将 HTML 链接到已删除的 CSS 文件的行为就像文件仍然存在一样

c - setuid() C函数也改变euid值?

javascript - 图像边距不变。可能是由于我的 javascript?

swift - 在 Swift 中发布文件