模仿'找到' C 中的命令
在 C 编程语言中执行此操作的最佳方法是什么?
find fileName
What would be the best way to do this in the C programming language?
find fileName
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以从分叉子进程调用
find
并从管道获取find
的输出:You could call
find
from a forked child process and get backfind
's output from a pipe:这是一个复杂的话题。查看GNU libc 文档。然后尝试使用 scandir 扫描当前目录。如果可行,您可以实现递归版本,假设您正在讨论 UNIX find 命令并且想要对文件名进行递归搜索。
That's a complex topic. Have a look at the GNU libc documentation. Then try to scan the current directory using scandir. If that works, you can implement a recursive version, assuming you are talking about the UNIX find command and want to do recursive search for file names.
查找 POSIX 函数
nftw()
。它被设计为“新文件树遍历”功能。有一个相关但不是立即有用的函数
scandir()
您可能会使用它。例如,选择函数可用于调用子目录的递归扫描,但 nftw() 可能更合适。Look up the POSIX function
nftw()
. It is designed as a 'new file tree walk' function.There's a related but not immediately as useful function
scandir()
which you might use. The selection function might be used to invoke a recursive scan on sub-directories, for example, butnftw()
is probably more appropriate.