How to remove multiple files in C using wildcards?
c, file-io, wildcard
Solution
As you point out you could use diropen, dirread, dirclose to access the directory contents, a function of your own (or transform the wildcards into a regex and use a regex library) to match, and unlink to delete.
There isn't a standard way to do this easier. There are likely to be libraries, but they won't be more efficient than what you're doing. Typically a file finding function takes a callback where you provide the matching and action part of the code. All you'd be saving is the loop.
Problem
Is there any way in C to remove (using `remove()`) multiple files using a `*` (wildcards)? I have a set of files that all start with Index. For example: `Index1.txt`, `Index-39.txt` etc. They all start with Index but I don't know what text follows. There are also other files in the same directory so deleting all files won't work. I know you can read the directory, iterate each file name, read the the first 5 chars, compare and if it fits then delete, but, is there an easier way (this is what I currently do by the way)? This is standard C, since the code runs on Linux and Windows.