此网站上有许多使用此网站上的C打印出目录中文件列表的示例。但是,我还没有找到一种方法来返回字符串列表(char ***
可能?),这样:
some_variable_type list;
listdir("~/test_folder",list); //this is the function I need
for() //each item in list
{
printf("This is a file in the folder: %s\n", item);
do_thing_on_file(item);
}
甚至可以在不知道文件夹中有多少文件的情况下完成这项工作?为了完整起见,请帮助我不仅要写listdir()
,还要预先设置我需要设置的变量来调用它。
关于重复的编辑:正如我上面提到的,我不相信链接的问题作为重复不回答我的问题,因为解决方案(保存为一个)都打印字符串列表或涉及C ++或使用变量预先猜测目录中的文件数,并且一个解决方案不提供调用它所需函数之外的变量的设置。
运行时,代码只会打印文件夹中每个文件的名称,并且还会对每个文件执行另一个函数(这超出了本问题的范围)。关键是我需要访问listdir()
函数范围之外的文件夹中的文件名,只需将它们打印到stdout就像重复问题中的答案不够好。