从C代码中删除文件

Kit*_*cha 5 c

我必须在我的C代码中删除几百个文件.我在循环中使用"删除".有没有比使用"删除"更快的方法呢?我问这个是因为我不能使用"删除"给野人.

Jon*_*ler 10

不,没有比在循环中使用remove()- 或unlink()在POSIX系统上 - 更快的方法.

系统rm命令也是这样做的 - 至少在命令行上给出名称的简单非递归情况下.shell扩展了元字符,并且rm(in)着名的是删除它被告知要删除的内容,而不知道*.*在命令行上使用的灾难性符号.(在递归的情况下,它使用一个函数,例如nftw()以深度优先顺序遍历目录结构,并重复调用unlink()以删除文件并rmdir()删除(现在为空)目录.)

POSIX确实提供了函数(glob()wordexp())来生成(POSIX)shell中使用的元字符的文件名列表,以及fnmatch()查看名称是否与模式匹配.