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