0

我目前正在尝试找到一种方法来搜索特定目录中的文件(在这种情况下是 /dev/shm,这部分不需要通配符)适合包含通配符的模式,例如我有一个有的目录

stack_review.txt stack_overflow.txt stack_servers.txt

在其中,我想返回所有符合模式 stack_*.txt 的结果,我该怎么做呢?我已经尝试了一些使用 readdir 的示例,但不幸的是还没有找到任何适用于此实现的方法,所以我非常感谢我能在这个问题上获得的任何帮助,谢谢!

4

2 回答 2

3

你正在寻找glob(). 来自http://linux.die.net/man/3/glob

一个使用示例是以下代码,它模拟ls -l *.c ../*.c 在 shell 中键入:

glob_t globbuf;

globbuf.gl_offs = 2;
glob("*.c", GLOB_DOOFFS, NULL, &globbuf);
glob("../*.c", GLOB_DOOFFS | GLOB_APPEND, NULL, &globbuf);
globbuf.gl_pathv[0] = "ls";
globbuf.gl_pathv[1] = "-l";
execvp("ls", &globbuf.gl_pathv[0]);
于 2012-05-21T18:09:54.890 回答
0

元素可以嵌套在文件夹中吗?如果是这样,您的方法必须是递归的。

于 2012-05-21T16:44:50.183 回答