tags:

views:

1066

answers:

2

Hi.

What is the difference between remove and unlink functions in C++?

Thanks.

+7  A: 

remove is portable, and unlink is Unix-specific. :-P

Chris Jester-Young
+14  A: 

Apart from the fact that unlink is unix-specific (as pointed out by Chris), we read in the POSIX manual:

If path does not name a directory, remove(path) is equivalent to unlink(path). If path names a directory, remove(path) is equivalent to rmdir(path).

As for the directory-passed unlink, we read:

The path argument must not name a directory unless the process has appropriate privileges and the implementation supports using unlink() on directories. (...) Applications should use rmdir() to remove a directory.

Kornel Kisielewicz
Duh, should have read the man pages :).
SyBer