Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C程序中,如何将包含通配符的路径转换为相应的文件项?_C_Unix_System Calls - Fatal编程技术网

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

在C程序中,如何将包含通配符的路径转换为相应的文件项?,c,unix,system-calls,C,Unix,System Calls,我正在尝试使用通配符实现ls命令,*。 我刚刚了解到,大多数shell在执行ls命令时,会将包含*的ls参数转换为相应的条目。 例如,目录foo由a.file、b.file和目录bar组成 然后,目录bar具有c.file、d.file和e.file 并假设当前目录是目录foo 参数*/*转换为以下条目 "bar/c.file", "bar/d.file", "bar/e.file" 程序如何执行此操作?我不知道从哪里开始。和 有许多可能的情况 */../*,./../*,*/*/*/*等 任

我正在尝试使用通配符实现
ls
命令,
*
。 我刚刚了解到,大多数shell在执行
ls
命令时,会将包含
*
的ls参数转换为相应的条目。
例如,目录
foo
a.file
b.file
和目录
bar
组成
然后,目录
bar
具有
c.file
d.file
e.file

并假设当前目录是目录
foo

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

"bar/c.file", "bar/d.file", "bar/e.file"
程序如何执行此操作?我不知道从哪里开始。和
有许多可能的情况

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

任何建议都会很棒。谢谢你。

你当然可以做很多这方面的工作

这样的模式被称为,出于某种原因,我现在不想去挖掘

POSIX提供了编程通配符路径扩展。

了解该函数。