Порекомендуйте пожалуйста переносимый метод проверки существования директории Win32/Unix, если не существует — то переносимый хотя бы между *nix, если и такого нет, то как быть?
Re: Проверить существует ли директория (Unix/Win32)
Здравствуйте, Аноним, Вы писали:
А>Порекомендуйте пожалуйста переносимый метод проверки существования директории Win32/Unix, если не существует — то переносимый хотя бы между *nix, если и такого нет, то как быть?
Здравствуйте, Аноним, Вы писали:
А>Порекомендуйте пожалуйста переносимый метод проверки существования директории Win32/Unix, если не существует — то переносимый хотя бы между *nix, если и такого нет, то как быть?
Для всех юниксов — вызвать stat() на путь и проверить st_mode загруженной структуры макросом S_ISDIR(). Ошибка из stat() означает, что такого нет, или недоступен, или ещё что; возврат 0 из макроса — что такое есть, но оно не каталог.
А вообще, для переносимости таки что-то boost'ообразное лучше бы применить, как тут уже сказали.
The God is real, unless declared integer.
Re[2]: Проверить существует ли директория (Unix/Win32)
Здравствуйте, Аноним, Вы писали:
А>Порекомендуйте пожалуйста переносимый метод проверки существования директории Win32/Unix, если не существует — то переносимый хотя бы между *nix, если и такого нет, то как быть?
Сразу же вопрос — а зачем?
Как правило, существование директории само по себе интереса не представляет. С ней надо будет что-то делать. Любые попытки определить существование директории неизбежно приведут к "гонкам".
Гораздо проще и надежнее первый шаг просто опустить.
Если директория просто нужна, вызываем mkdir. Если директория обязана существовать, вызываем chdir. И т.д. В любом случае смотрим на код ошибки, и реагируем должным образом.
Re[3]: Проверить существует ли директория (Unix/Win32)