如何将包含通配符的路径转换为C程序中的相应文件条目?

时间:2013-04-15 14:45:57

标签: c unix system-calls

我正在尝试使用通配符ls实现*命令。 我刚刚了解到大多数shell在执行*命令时将包含ls的ls-argument转换为相应的条目。
例如,目录fooa.fileb.file和目录bar组成。
然后,目录bar包含c.filed.filee.file
并假设当前目录是目录foo

参数*/*被转换为以下条目。

"bar/c.file", "bar/d.file", "bar/e.file"

程序如何执行此操作?我不知道从哪里开始。和
有很多可能的情况。

*/../*../../**/*/*

任何建议都很棒。谢谢..

2 个答案:

答案 0 :(得分:3)

你可以使用glob()做很多工作。

这种模式被称为globs,由于某些原因我现在不会被挖掘。 :)

答案 1 :(得分:1)

POSIX为编程通配符路径扩展提供glob(3)