Вопрос
В приложении Windows C я хочу проверить параметр, переданный в функцию, чтобы убедиться, что указанный путь существует. *
Как проверить, существует ли каталогсуществует в Windows в C?
* Я понимаю, что вы можете попасть в условия гонки, когда между временем проверки существования и временем использования пути, которого он больше не существует, но я могусправиться с этим.
Дополнительный фон
Если явно знать, что каталог существует или не существует, может возникнуть сложность, когда разрешения вступают в игру.Возможно, что при попытке определить, существует ли каталог, у процесса нет прав доступа к каталогу или родительскому каталогу. Это нормально для моих нужд .Если каталог не существует ИЛИ я не могу получить к нему доступ, оба приложения рассматриваются как неверный путь в моем приложении, поэтому мне не нужно различать.(Виртуальные) бонусные баллы, если ваше решение предусматривает это различие.
Любое решение на языке C, в библиотеке времени выполнения C или в Win32 API - это хорошо, но в идеале я хотел бы придерживаться библиотек, которые обычно загружаются.(например, kernel32, user32 и т. д.) и избегайте решений, связанных с загрузкой нестандартных библиотек (например, PathFileExists в Shlwapi.dll).Опять же, (Виртуальные) бонусные баллы, если ваше решение кроссплатформенное.
Связано
Как мы можем проверить, существует ли файл или нет с помощью программы Win32?