在 C 中有什么方法可以使用 *
(通配符)删除(使用 remove()
)多个文件?
我有一组全部以 Index 开头的文件。例如:Index1.txt
、Index-39.txt
等。
它们都以索引开头,但我不知道后面是什么文字。同一目录中还有其他文件,因此无法删除所有文件。
我知道您可以读取目录,遍历每个文件名,读取前 5 个字符,进行比较,如果适合则删除,但是,有没有更简单的方法(这就是我目前所做的)?
这是标准的 C,因为代码在 Linux 和 Windows 上运行。
最佳答案
正如您所指出的,您可以使用 diropen、dirread、dirclose 来访问目录内容,您自己的一个函数(或将通配符转换为正则表达式并使用正则表达式库)进行匹配,并取消链接以删除。
没有一种标准方法可以更轻松地完成这项工作。可能会有图书馆,但它们不会比你正在做的更有效率。通常,文件查找功能需要一个回调,您可以在回调中提供代码的匹配和操作部分。您将节省的只是循环。
关于c - 如何使用通配符删除 C 中的多个文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2156211/