Jaka jest różnica między funkcjami usuwania i odłączania w C++?Odłącz kontra usuń w C++
Odpowiedz
Pomijając fakt, że odłączenia UNIX jest specyficzne (jak podkreślił Chris), czytamy w instrukcji POSIX:
Jeśli ścieżka nie nazwę katalogu, usunięcia (ścieżka) jest równoważne rozłączeniu (ścieżka). Jeśli ścieżka nazywa katalog, remove (ścieżka) jest równoważne rmdir (path).
Co do Katalogu ominąć unlink
czytamy:
Argument ścieżka nie musi nazwa katalogu, chyba że proces ma odpowiednie uprawnienia i realizacja wspiera użyciu odłączyć() na katalogi. (...) Aby usunąć katalog, aplikacje powinny używać polecenia rmdir().
remove
jest przenośny, a unlink
jest specyficzny dla systemu Unix. :-P
Odłączenie nie jest specyficzne dla Uniksa, nie wiem, dlaczego ludzie tak mówią. patrz io.h. choć prawdopodobnie będziesz musiał zrobić coś takiego
#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
unlink jest funkcją Posix. MS zawierało wiele funkcji Posix w nagłówkach środowiska wykonawczego C dla swojego kompilatora, ale to zanieczyszczało przestrzeń nazw. Aby być bardziej zgodnym ze standardem C, MS później zastąpił niektóre z funkcji Posix, które dostarczyły wersjom poprzedzonym podkreśleniem (i usunął inne). Czołowe podkreślenia są zarezerwowane dla implementacji. Ogólnie, funkcje uruchomieniowe C są bardziej przenośne niż funkcje Posix. Ogólnie rzecz biorąc, funkcje Posix są dość jednotorowe, nawet jeśli niektóre systemy poza Unixem mogą zapewniać pewne wsparcie Posix. –
, więc zgadzamy się, że nie jest to specyficzne dla Uniksa. – bviktor
Nie, nie zgadzamy się. unlink to funkcja Posix. Posix był próbą standaryzacji systemów operacyjnych opartych na Uniksie. _unlink to inna funkcja działająca na systemie operacyjnym innym niż Unix. –
- 1. Odłącz element ItemTouchHelper od RecyclerView
- 2. "Odłącz wszystkie" a "zatrzymaj debugowanie"
- 3. C++ 11 std :: thread :: odłącz i udostępnianie danych udostępnionych
- 4. Odłącz model widoku od widoku w nokaucie
- 5. Entity Framework - Odłącz i zatrzymaj obiektowy wykres
- 6. C usuń wyjście printf
- 7. Domyślnie Constructor, Java kontra C++
- 8. Cel-C: BOOL kontra bool
- 9. "importuj" w Javie kontra "#include" w C/C++
- 10. Konstruktorzy w języku Java kontra C++?
- 11. Przenoszenie semantyki w MS C++ kontra Clang
- 12. C++ Usuń składnię
- 13. Programowo podłącz i odłącz urządzenie z Androidem
- 14. Odłącz wszystkie wierzchołki na wykresie - Algorytm
- 15. JNI Attach/Odłącz zarządzanie pamięcią wątek
- 16. Odłącz dysk startowy od GCE VM
- 17. Usuń odwrotny ukośnik („\”) w Objective-C
- 18. Usuń zduplikowane wpisy w C++ Vector
- 19. C# Listview, usuń kolumnę śmieciową
- 20. C++ 11 Usuń przesłonięta metoda
- 21. C# Usuń wszystkie puste podkatalogi.
- 22. Usuń prefiks cel-c mac
- 23. C++ nowy/usuń i zwiąż *
- 24. Odłącz sieć w emulatorze Androida, utrzymując przy życiu ADB.
- 25. C++ STL Mapa kontra prędkość wektorowa
- 26. C#: Delegat akcji kontra delegat jawny
- 27. Delegaci kontra działania, Func in C#
- 28. C#: Dowolny() kontra Count() dla pustej listy
- 29. Embarcadero C++ builder + FireMoneky kontra Qt
- 30. Język kompilacji - LLVM IR kontra C
Duh, powinien przeczytać strony man :). – SyBer