50 Stimmen

unlink vs entfernen in c++

Was ist der Unterschied zwischen den Funktionen remove und unlink in C++?

0 Stimmen

Ich bezweifle, dass Sie einen Unterschied in der Geschwindigkeit bemerken werden. Die Auswahl ist nicht der kostspieligste Teil der Operation.

67voto

Kornel Kisielewicz Punkte 53256

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.

23voto

Chris Jester-Young Punkte 212385

remove ist tragbar, und unlink ist Unix-spezifisch. :-P

8voto

Quentin Perez Punkte 2703

El remove() entfernt die durch Pfad angegebene Datei oder das Verzeichnis.

Wenn path ein Verzeichnis angibt, remove(path) ist das Äquivalent zu rmdir(path) . Andernfalls ist es das Äquivalent zu unlink(path) .

Von: man remove .

Viel Glück ;)

5voto

bviktor Punkte 185

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

-1voto

Bill Weinman Punkte 1826

remove() ist Teil des C++-Standards (N4860 29.11.14.30). unlink() ist nicht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X