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