Was ist der Unterschied zwischen den Funktionen remove und unlink in C++?
Antworten
Zu viele Anzeigen?Abgesehen von der Tatsache, dass unlink unix-spezifisch ist (wie von Chris hervorgehoben), lesen wir im POSIX-Handbuch:
Wenn path kein Verzeichnis benennt, ist remove(path) äquivalent zu unlink(path). Wenn path ein Verzeichnis benennt, ist remove(path) äquivalent zu rmdir(path).
Was das Verzeichnis anbelangt, das unlink
lesen wir:
Das Pfadargument darf kein Verzeichnis benennen, es sei denn, der Prozess hat entsprechende Rechte und die Implementierung unterstützt die Verwendung von unlink() für Verzeichnisse. (...) Anwendungen sollten rmdir() verwenden, um ein Verzeichnis zu entfernen.
Unlink ist nicht unix-spezifisch, ich weiß nicht, warum die Leute das sagen. siehe io.h. obwohl Sie wahrscheinlich etwas tun müssen wie
#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
0 Stimmen
Ich bezweifle, dass Sie einen Unterschied in der Geschwindigkeit bemerken werden. Die Auswahl ist nicht der kostspieligste Teil der Operation.