我正在尝试传递归档和目录名称命令行参数,并提取目录中的文件列表。在eclipse中我使用“-A [archive.a] [directory_name]”, 但是eclipse一直在尝试编译测试目录文件。有什么建议?下面的代码示例是我的程序的精简版本: [编辑:好的,我通过移出工作目录得到它进行编译...但是它在readdir命令崩溃...任何提示?] [编辑:好的,我发现我可以手动解析文件,所以我猜这个问题现在是学术性的。大家好。]
int main(int argc, char **argv)
{
char **fileList = (char **)(malloc(sizeof(char *) * argc));
output = argv[2]; //archive name
DIR *d;
struct dirent *dir;
d = opendir(argv[3]); //directory name
int i = 0;
while((dir = readdir(d) != NULL))
{
fileList[i] = (char *)(malloc(sizeof(char) * strlen(dir->d_name)));
fileList[i] = dir->d_name; //extract file names into array of strings
++i;
}
int j;
for(j = 0; j <= argc; ++j)
printf("%s\n", fileList[j]); //print out list of file names
closedir(d);
}