J'écris un utilitaire de ligne de commande en C pour traiter les fichiers image. Dans son état actuel, l'application peut accepter plusieurs noms de fichiers explicites si argv
, mais je voudrais ajouter le support pour les caractères génériques, comme ceci:Cross-plate-forme "standard" façon d'accepter les noms de fichiers avec des caractères génériques dans C?
imgprocess.exe *.png *.gif
ou
./imgprocess *.png *.gif
Il semble que cela devrait être une chose assez courante pour être supporté par C99, mais j'ai du mal à trouver une solution standard multi-plateforme.
Pour Windows, il semble (via this article) que le lien vers setargv.obj
fait l'affaire, mais c'est spécifique à Windows et je pense que Visual Studio.
Pour Linux, il semble que readdir()
ou scandir()
peut me fournir une liste de répertoires et je peux parcourir cette liste pour faire correspondre les fichiers, mais je pense que c'est juste Linux.
Depuis wildcards sont une chose commune, je me sens comme si je manque une sorte de solution simple évidente. Actuellement, je suis en train de compiler Linux avec gcc, mais j'aimerais le compiler pour au moins Windows et Linux.
Nous vous remercions de vos conseils.