dissocier vs supprimer en C++

Quelle est la différence entre les fonctions remove et unlink en C++?

36
demandé sur Leeor 2010-02-03 17:03:57

3 réponses

Outre le fait que unlink est spécifique à unix (comme L'a souligné Chris), nous lisons dans le manuel POSIX:

Si path ne nomme pas un répertoire, remove (path) est équivalent à unlink(path). Si path nomme un répertoire, remove (path) est équivalent à rmdir(path).

Comme pour le répertoire passé unlink, nous lisons:

L'argument path ne doit pas nommer un répertoire à moins que le processus ne dispose des privilèges appropriés et que l'implémentation ne prenne en charge l'utilisation de unlink() sur les annuaires. (...) Les Applications doivent utiliser rmdir() pour supprimer un répertoire.

55
répondu Kornel Kisielewicz 2010-02-03 14:09:54

remove est portable, et unlink est Unix spécifiques. :- P

19
répondu Chris Jester-Young 2010-02-03 14:06:45

Unlink n'est pas spécifique à unix, Je ne sais pas pourquoi les gens disent cela. voir io.h. Bien que vous devrez probablement faire quelque chose comme

#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

4
répondu bviktor 2011-12-02 00:49:22