Comment vérifier l'existence d'un répertoire à l'aide de C++ et de l'API Windows ?
GetFileAttributes()
retours INVALID_FILE_ATTRIBUTES
en cas de défaillance. Vous devez utiliser GetLastError()
pour découvrir ce qu'est réellement cet échec. S'il renvoie ERROR_PATH_NOT_FOUND
, ERROR_FILE_NOT_FOUND
, ERROR_INVALID_NAME
ou ERROR_BAD_NETPATH
alors elle n'existe pas vraiment. En revanche, s'il renvoie la plupart des autres erreurs, c'est qu'il existe bel et bien au chemin spécifié, mais que ses attributs ne sont tout simplement pas accessibles.
0 votes
Pourquoi ne pas faire
BOOL PathFileExists(pszPath);
comme indiqué dans msdn.microsoft.com/en-us/library/Windows/desktop/ ?0 votes
Depuis C++ 17, il n'est plus nécessaire de s'appuyer sur des API spécifiques à la plate-forme pour cela :
std::filesystem::exists(dirPath) && std::filesystem::is_directory(dirPath)
. Voir documents .