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