unlink vs remove на c++
в чем разница между функциями remove и unlink в C++?
3 ответов
помимо того, что unlink специфичен для unix (как указал Крис), мы читаем в руководстве POSIX:
Если path не называет каталог, remove(path) эквивалентно unlink (path). Если путь называет каталог, remove(path) эквивалентен rmdir (path).
Что касается каталога-passed unlink
, мы читаем:
аргумент path не должен называть каталог, если процесс не имеет соответствующих привилегий и реализация поддерживает использование unlink () в каталогах. (...) Приложения должны использовать rmdir() для удаления каталога.
unlink не зависит от unix, я не знаю, почему люди это говорят. см. Ио.ч. хотя вам, вероятно, придется сделать что-то вроде
#define unlink _unlink
http://msdn.microsoft.com/en-us/library/1c3tczd6%28v=VS.100%29.aspx
http://msdn.microsoft.com/en-us/library/2da4hk1d%28v=VS.100%29.aspx