Question
Dans un Windows application C je veux valider un paramètre passé à une fonction afin de s'assurer que le chemin d'accès spécifié existe.*
Comment voulez-vous vérifier si un répertoire existe sur Windows en C?
*Je comprends que vous pouvez obtenir dans des conditions de course où entre le temps de vérifier l'existence et le temps que vous utilisez le chemin d'accès qu'il n'existe plus, mais je peux le gérer.
En Arrière-Plan Supplémentaire
Savoir explicitement qu'un répertoire s'il existe ou non peut être délicat lorsque les autorisations sont en jeu. Il est possible qu'en essayant de déterminer si le répertoire existe, le processus n'a pas les permissions pour accéder à l'annuaire ou un répertoire parent. C'est OK pour mes besoins. Si le répertoire n'existe pas, OU je ne peux pas y accéder, les deux sont traités comme un chemin d'accès non valide échec dans ma demande, donc je n'ai pas besoin de les différencier. (Virtuel) des points de bonus si votre solution pour cette distinction.
Toute solution dans le langage C, C runtime library, ou de l'API Win32 est bien, mais idéalement, j'aimerais stick pour les bibliothèques qui sont généralement chargées (par exemple, kernel32, user32, etc.) et d'éviter des solutions qui impliquent chargement non-standard des bibliothèques (comme PathFileExists dans Shlwapi.dll). Encore une fois, (Virtuel) des points de bonus si votre solution est multi-plateforme.
Liées
Comment peut-on vérifier si un fichier Existe ou pas à l'aide de programme Win32?